C++静态成员函数,静态成员变量,运算符重载

当一个函数不属于某个具体的实例而属于整个类,那么这个函数最好写成静态成员函数,这样就可以直接用类名调用

Class::Func()

对于一般成员函数当用obj.Func()调用函数时,编译器会将其编译成TypeOf(obj)::Func()的样式,所以静态成员函数不能这么调用

友元函数和静态成员函数都不属于类,调用时都不会传入this,所以不可以使用

只让本类对象共享数据,让成员变量声明为static,静态数据成员的初始化要放在外面,class::name = value;因为其属于类,所以分配空间是在外面定义的时候分配,而不是在对象定义时分配

c++对匿名对象有优化,优化成直接创建新对象而不用再建立一个中间对象。匿名对象编译器可以尽早的释放,好的编译器可以优化

一般的单目:fanhuizhi operator+(){}

特殊一点的带哑元 fanhuizhi operator++(int/*有int表示后加,无int表示前加*/)

类型转换运算符的重载 fanhuizhi operator double(){},因为返回值类型和函数名一样,所以c++可以允许不写返回值类型,加boolalpha可以见Bool类型转换为true false,再缓过来就加noboolalpha