C++学习笔记

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.静态成员可以作为默认实参

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值