1.const成员函数
const修饰成员函数,在成员函数后面加const,用来修饰this指针所指向的对象,保证const成员函数在调用过程中,其对象不会被改变
const对象不能调用非const成员函数,反之则可以。
2.内联函数
inline修饰的函数叫做内联函数,编译过程编译器会调用内联函数的地方展开,没有函数压栈的开销,内联函数提升了程序运行的效率。
尽量使用inline替换宏函数
3.友元
在C++中友元函数允许在类外访问该类中的任何成员,就象成员函数一样,友元函数用关键字friend说明。
友元函数不是类的成员函数, 友元函数可以通过对象访问所有成员,私有和保护成员也一样
友元函数可以访问其对应的函数,反之则不可以
整个类可以是另一个类的友元。友元类的每个成员函数都是另一个类的友元函数,都可访问另一个类中的保护或私有数据成员
4.static成员
类里面static修饰的成员,成为静态类成员。 类的静态成员是该类型的所有对象对象所共享
静态成员函数没有隐含this指针参数,所以可以使用类型::作用域访问符直接调用静态成员函数
静态成员函数不能访问非静态成员函数,反之则可以
5.N中构造拷贝构造的优化Test1中调用了_1__次AA的拷贝构造函数,__1_次AA的赋值运算符函数的重载。
Test2中调用了__1_次AA的拷贝构造函数,_2__次AA的赋值运算符函数的重载。
Test3中调用了_2__次AA的拷贝构造函数,_3__次AA的赋值运算符函数的重载。
class AA
{};
AA f (AA a)
{
return a ;
}
void Test1 ()
{
AA a1 ;
a1 = f(a1);
}
void Test2 ()
{
AA a1 ;
AA a2 = f(a1);
}
void Test3 ()
{
AA a1 ;
AA a2 = f(f(a1));
}