高效effective C++ 55条款之个人学习笔记1

条款1 视c++为一个语言联邦

其实看到这第一个条款就觉得,这书买的真值了,因为看完primer一知半解后感觉c++就是个规则大集合,

以c为基础,

添加了构造函数,析构函数,封装,继承,多态,虚拟函数等面向对象守则,

再以template模板嵌入规则,

其中stl为最重要的规则模板。

因此,c++高效编程守则视状况而变化,取决于你用c++的哪一部分


条款2 尽量以const,enum,inline 替换#define

对于一直使用的脚本语言的我来说,

这条款的翻译,宁可以编译器替换预处理器这个说法,理解是字面上的:在调试之前处理的无法应用于调试跟踪因此该使用编译器。

const可以定义常量和方法,加重对此方法和变量的控制。

enum可以定义一些类和对象所使用的整形常量。

inline为内联函数,一般来说,尽量使用短而小的函数定义内联函数,建议十行以内。


条款3 尽可能使用const

const告诉编译器强制约束,确保指针,函数。。的值不被改变,增加其安全性。

在const成员函数内不能赋值,但是mutable能赋值改变变量,即使在const成员函数内。


条款4 确定对象被使用前已先被初始化


确定对象呗使用前已被初始化,否则会导致程序终止。

确保:1.手工初始化内置型non-member对象,因为c++不保证初始化他们

2.使用成员初值列对付对象的所有成分

3.为免除夸编译单元之初始化次序问题,请以local static对象替换non-local static对象


条款5 了解c++默默编写并调用哪些函数


编译器可以暗自为class创建default构造函数,copy构造函数,copy assignment操作符,以及析构函数




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值