1.显示类型转换(explicit conversion)
2.强制类型转换(cast)
3.c++ limits提供了与内置类型表示有关的信息
4.系统为每个程序都提供了一个在程序执行时可用的内存池(空闲存储区free store 或堆 heap)
5.动态内存分配(dynamic memory allocation)
6.bitset操作
test(pos) pos位是否为1?
any() 任意位是否为1?
none() 是否没有位为1?
count() 值是1的个数
size() 位元素的个数
[pos] 访问pos位
flip() 翻转所有位
flip(pos) 翻转pos位
set() 将所有位置1
set(pos) 将pos位置1
reset() 将所有位置0
reset() 将pos位置0
bitset操作头文件 <bitset>
7.bitset有3种声明方式:
bitset<32>bitvec;
bitset<32>bitvec(0xffff);
bitset<32>bitvec("101010");
8.bitset转成string对象:
bit.to_string();
9.bitset转成unsigned long型整数
bit.to_ulong();
10.显示类型转换
static_cast
dynamic_cast
const_cast
reinterpret_cast
虽然有时候确实需要强制类型转换, 但是它们也是程序错误的源泉.
11.任何非const数据类型的指针都可以被赋值给void*型的指针
void*型的指针被称为泛型(generic)指针
void*型指针不能直接被解除引用
12.const_cast 转换叼表达式的常量性(以及volatile对象的volatile性)
13.编译器隐式执行的任何类型转换都可以由static_cast显示完成
14.dynamic_cast支持在运行时刻识别有指针或引用的类对象