1.union与struct,共用体与结构体的区别:
1)共用体和结构体都是由多个不同的数据类型成员组成,共用体只存放了一个被选中
的成员,而结构体的所有成员都存在。
2)对于共同体的不同成员的赋值,将会对其他成员重写,原来的成员的值就不存在了,而对于结构体的不同
成员赋值是互不影响。共用体成员不可以为静态、引用。
3)两者最大的区别在于内存的分配上,共用体顾名思义,就是多个成员共用一个内存单元,因此使用时,
所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。
2.静态变量的作用域是整个程序,因此可以用来进行信息共享!
3.void* 指针是通用指针,其他类型指针可以直接赋值给它,但是void*指针不允许直接赋值给其他类型指针。在
使用时,需要加强制类型转换。
4. 数据类型 变量名:32 ,此格式表示为定义变量为一个(数据类型)数据位长的变量。
5.在类中,应时刻注意this,typedef,类作用域的使用
6.new运算符为多个对象申请内存时,不允许初始化。
7.基类指针指向派生类对象时,只识别来自基类的成员。若基类中声明虚函数,则屏蔽了基类指针的识别,转而识别到派生类的函数
8.类中,const类型的数据成员,只能用成员初始化表来初始化。即 构造函数(参数):const数据成员(参数){};
static成员的使用非常灵活,其是整个类的共享成员,因此用类名::来直接调用
9.三种char型数组使用,1) char str[]="abc"; 2) wchar_t str[]=L"abc"; 3)TCHAR str[]=_T("abc");
10.包含多态时,为屏蔽基类的虚函数,可以使用基类对象,或指向基类的指针。
也可以使用指向派生类的指针,格式为: 派生类 (*指针名)(&基类对象),调用时,就是指向派生类的指针来调用相关的成员
其过程不带“=”;
11.((基类*)(直接基类*)&派生类对象)->,这种访问格式是在包含多态中,为屏蔽所有基类的函数而用的。
相当于一个振荡指针,既指向基类,又指向直接基类