1.static声明的全局变量只能在本文件中使用,声明的局部变量代表静态变量,声明的全局函数也只用文件作用
域
2.C++中的常类型实现了对共享的保护:
a.常引用:所引用对象不能被更新
b.常对象:必须初始化,且不能被更新
CMyClass const myclass(3,4)
常对象只能调用常成员函数,以保证其不能改变数据成员
c.常成员函数:
void print() const
不能更新数据成员,不能调用非常成员函数,可作为重载区分标识
d.常数据成员:在初始化列表中初始化后就不能再改变它的值。
3.CALLBACK定义为_stdcall,代表一种调用习惯,关系到参数进入堆栈的顺序、编译后产生函数名、参数参数
传递顺序等,其他调用习惯还有_pascal和_cdecl等
4.回调函数:把一个函数名赋给一个函数指针,则拥有这个函数名的函数就是回调函数
常用回调函数:窗口过程函数,定时器超时函数
回调函数作用:被调用者用一个函数指针接收不同的函数,实现不同的功能,如定时器函数的调用者用一个函
数指针接收不同的超时处理函数,窗口过程函数
调用者用一个窗口过程函数指针接收不同窗口的窗口过程。
5.windows程序调用函数分为C Runtime函数以及Windows API函数,前者与平台无关,只要符合C规范即可,
后者是windows系统及函数,在微软平台专用。
6.每个成员函数都有一个隐含参数,名为this,比如调用rect1.SetColor(2);经编译后,会变成:
CRect::SetColor(2,(CRect *)&rect1);
7.堆的动态增长时,系统会移动,合并一些内存快,所以较慢