-
类型unsigned int可缩写成unsigned
-
int、char、double这些内置类型,实际上可以看成int类类型、char类类型、double类类型,因为类设计的目的之一是让我们能像使用C++内置类型一样自然地使用类
-
负数转换为无符号数,结果等于这个负数对无符号类型表示的数值总数(看这个无符号类型所占字节,即2的几字节次方)取模后的余数
-
2的32次方=4294967296
-
-32转换为无符号整型数为4294967264(负数加上无符号整型数能表示最大值),-1转换为无符号整型数为4294967295!
-
‘a’和"a"是不一样的,‘a’只有一个字符a,而"a"有两个字符,分别是’a’和空字符’\0’
-
初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。
-
初始化每一个内置类型的变量
-
全局作用域本身没有名字,所以如果想在块作用域(有和全局作用域的同名变量的话)访问全局作用域的同名变量,就这么写(也要会认):
::全局作用域的变量名
-
最基本的一点:引用是为对象起了另外一个名字,且引用必须被初始化!
-
定义引用(&),程序是把引用和它的初始值死绑一起,即不能让引用重新去和别的对象绑定,也不是将初始值拷贝给引用(初始化变量是把初始值拷贝给新建的对象中)
-
对引用的所有操作都是对这个引用所绑定的对象的操作!
如:
int ival = 1024;
int &refVal = ival;
refVal = 2;//即ival = 2;
int ii = refVal;//即 int ii = ival;
- 最好用nullptr,比如
int *p1=nullptr;
这等价于int *p1=0;
- 指针的值为0(控制之),则指针作为条件时,条件表达式取false,除此之外条件表达式都取true
- 要理解一个变量(对象)的类型到底是什么,最简单的办法就是从右往左阅读这个变量的定义,离变量名最近的符号对变量的类型有最直接的影响
- 一个对象去初始化另外一个对象,这两个对象是否有const修饰都可,比如:(拷贝一个对象的值是不会改变被拷贝的对象的)
int i=42;
const int ci=i;
int j=ci;
以上三行都正确。
- 多文件使用相同const变量,