1、const
类的成员函数后加const如(void mm()const)后,const属于签名,与不加const是两个不同的函数。const对象只能调用const成员函数,非const对象可以调用const和非const函数(当const和非const成员函数均存在,优先调用非const对象)。
2、operator new和operator delete的重载
两个函数的声明:
void* operator new(size_t) void operator delete(void* )
当动态分配内存时,这两个有关内存的函数会被调用。若在全局作用域重载,会被每个类调用,也可声明为某个类的static成员函数(只有这个类会调用),如果使用时想忽略重载的,可以写成::new Foo();重载operator new时的第一个参数必须为size_t 类型。
3、static函数和数据
static数据在类内声明,在类外定义,static函数只能调用static数据,没有this指针。他们的访问规则遵从private和public声明。