- 博客(9)
- 收藏
- 关注
原创 字面值常量 简介
字面值常量 分几种,如下1. 整型字面值常量 有几种表示方法: 八进制(012)、十进制(10)、十六进制(0xA)2. 浮点型字面值常量 两种表示方法: 3.1415 2.1e-2 0. .001等3. bool型字面值常量 true 和 false4. 指针字面值常量 nullptr (c++11 ...
2018-08-29 16:23:58 2227
原创 简单类型转换
1. bool flag = 42; // flag返回 true,任何非零整数初始化bool变量,都为true2. int m1 = 10, m2 = 30; unsigned int u1 = 15, u2 = 40; std::cout << m1 - m2 << std::endl; // 整型变量相减还是整型变量, -20 ...
2018-08-29 15:56:46 201
原创 使用const 常量 代替 宏定义 需注意的问题
1. #define PI 3.1415 这是一个很常见的宏定义 不过,在c++中,effective c++中曾指出过,尽量用const 定义常量,来替换宏定义。 const double PI = 3.1415; 好处: const 替换 宏定义后,编译时能进行类型检查,一旦出错后,比宏定义更方便调试。2. 我们来思考一个问题,如果多个文件需要使用 ...
2018-08-29 15:45:46 3973
原创 普通引用 和 const 引用 区别
1. c++ primer中有一条规定: 引用所绑定的类型和所引用的对象类型需严格匹配。除了两个例外(下面再说),我们先看看普通的引用情况:① int i = 3; int &ri = i; //正确,引用绑定到int 变量i上② double d = 3.1415; int &rd = d; //错误, 引用类型为 int ,所绑定对象类...
2018-08-29 15:25:18 12598 2
原创 重定向
1. 程序中的重定向 #include <iostream> int main() { int a = 0; int b = 0; std::cin >> a >> b; std::cout << a + b << std::endl; retur...
2018-08-28 10:11:39 297
原创 从hello,world开始的思考
某天翻开 c++ primer,想到一个问题: 什么是程序?如果我问你,你能答出什么内容? c++ primer 的版本:程序即函数,一个或多个函数,必须含有main函数(启动程序,系统调用main); 恍然大悟,原来每本书都开始就讲hello,world... 你的答案是什么?欢迎在评论区讨论... ...
2018-08-27 11:26:01 154
原创 内存池、自由空间、堆内存 等名称解释(不间断更新。。。)
简单说说几个名词解释:(c++ primer 第五版)1. 内存池、自由空间、堆内存 其实是同一种概念的不同叫法。编译器分配的内存,一般在全局存储区,要么在栈内存等。堆内存,是程序员自己分配的内存,比如运算符 new用来在堆上分配内存,回收用delete 运算符。又或是,make_shared 分配存储,返回一个智能指针shared_ptr,当然,shared_ptr指向的对象内存...
2018-08-27 11:08:59 1361
原创 共享指针
简单介绍两种智能指针:1. shared_ptr 允许多个shared_ptr指向同一个对象, 即 “共享”一个对象2. unique_ptr 同一时刻,只允许一个unique_ptr指向一个对象,即 “独占”一个对象3. 共享指针 和 一般指针 共享指针 和 一般指针用法大致类同,主要区别在于: 共享指针负责自动释放它所指向的对象...
2018-08-27 09:58:00 1851
原创 Qt Creator 调试运行,报错 “ RTTI symbol not found for class 'QObject' ”
出现原因: 在调用deleteLater() 后,调试执行到析构函数中 报错解决方法: 问题出在:调用了两次析构函数,接下来,你应该有解决方向了吧。。 ...
2018-08-22 15:20:25 6119 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人