目录
1、构造函数初始化时的初始化列表
必须采用初始化列表的情况:
- 没有默认构造函数的类成员对象;
- 带有引用的变量类成员;
- (常量成员)需要初始化const修饰的类成员。
不需要初始化的有:
- 指针;
- static修饰符
1、static属于类,它在未实例化的时候就已经存在了,而构造函数的初始化列表,只有在实例化的时候才执行;
2、static不属于对象。
2、“<<=, >>=, &=, ^=, |=”的含义
- >>=:a>>=b相当于 a = a >> b,表示把二进制a右移b位
- <<=:a<<=b相当于 a = a << b,表示把二进制a左移b位
- &=:按位与
- |=:按位或
- ^=:按位异或(相同为0,不同为1)
3、类的静态成员
- 类的静态成员属于整个类,而不是某个对象。可以被类的所有方法访问,子类可以访问父类静态成员;
- 静态方法属于整个类,在对象创建之前就已经分配空间,类的非静态成员要在对象创建后才有内存,所以静态方法只能访问静态成员,不能访问非静态成员;
- 静态成员可以被任一对象修改,修改后的值可以被多个对象共享。
4、Math类中与取整有关的方法
ceil:向上取整,进一法
floor:向下取整,去尾法
round:四舍五入法,算法为Math.floor(x+0.5)
例子:
-11.4采用round方法取整后得到:-12
-11.5采用round方法取整后得到:-11
5、字符数组和字符串
字符数组:
初始化形式:类型说明符 数组名[常量表达式] = {值,值,值...值};
char str[5] = {'a', 'b', 'c', 'd', 'e'};
字符串:
- 字符串是一个特殊的字符数组;
- 定义一个字符串数组时,需要人为的加上/0。
char* pStr = "abcd";
char str[5] = {'a', 'b', 'c', 'd', '\0'};
6、优先级
7、C++中参数传递的方式
- 引用传递
- 值传递,包括传指针和传值(指针本质上也是一个值)
8、能够从输入流中提取指定长度的字节序列的函数是:read