C++学习笔记

    xiaoxiao2021-03-25  150

    C++学习笔记

    内联函数

    1.内联函数在编译器内部直接展开,不需要被调用; 2.类内部实现的函数,都会作为内联函数; 3.在类的外部实现时才会加inline标识符; 4.inline标识符代表程序员希望他是一个内联函数,具体实现看编译器心情;

    友元

    1.一般来说,最好在类定义开始或结束前的位置集中声明友元; 2.许多编译器并未强制限定友元函数必须在使用之前在类的外部声明; 3.友元能不用最好别用;

    构造函数初始化

    1.如果成员是const,引用,或者属于某种未提供默认构造函数的类类型,我们必须通过构造函数初始值列表为这些成员提供初始值;

    例如: class student { const int ID; student(int id){ID = id;} //错误,const无法被赋值 student(int id):ID(id){} //正确,初始值列表是定义const时赋的初值 };

    2.最好令构造函数初始值顺序与成员声明的顺序一致,如果可能的话,尽量避免使用某些成员初始化其他成员; 3.如果一个构造函数为所有参数都提供了默认实参,则它实际上也定义了默认构造函数; 4.在实际中,如果定义了其他构造函数,那么最好也提供一个默认构造函数;

    隐式类类型转换

    1.只允许一步类类型转换 2.explicit可抑制隐式类类型转换 3.explicit只能用于直接初始化

    静态成员

    1.静态成员和指针可以是不完全类型 2.静态成员可以作为默认实参

    转载请注明原文地址: https://ju.6miu.com/read-3826.html

    最新回复(0)