Effective C++ chapter1:Accustiming Yourself t…
2018-06-17 21:19:25来源:未知 阅读 ()
Item 1:View C++ as a federation of languages
- 单词:
- sublanguage:子语言
- Exception:异常
- template:模板
- procedual:过程
- object-oriented:面向对象
- generic:泛型
- blocks:区块{ }
- statement:语句
- overloading:重载
- paradigm:泛型,模板
- convention:规定
- encapsulation:封装
- inheritance:封装
- polymorphism:多态
- virtual:虚
- container:容器
- iterators:迭代器
- algorithm:算法
- 摘要:
- C++可以视为由相关语言组成的联邦而非单一语言,可以以下次语言组成
- C:语句块,语句,内置类型,指针等等
- Oriented_Objected C++:类,封装,继承,多态,虚函数
- Template C++:泛型编程
- STL:STL是template程序库,容器,迭代器,算法
- C++可以视为由相关语言组成的联邦而非单一语言,可以以下次语言组成
Item2:Prefers consts,enums,and inlines to #define
- 单词:
- macro 宏
- object code 目标码
- scope 作用域
- encapsulated 封装
- 摘要:
- 对于常量,尽量用const而不是宏
- 当出现错误提示时,错误不会显示宏的名字而是代表的常量,不容易发现问题
- 宏可能会造成编译器对常量的多份拷贝
- 相比const没有作用域,也缺少封装
- 对于函数,尽量用内敛函数而不是宏
- 宏可能会引起歧义
- 对于常量,尽量用const而不是宏
Item3:Use const whenever possible
- 单词
- constraint 约束
- asterisk 星号
- iterator 迭代器
- modeled 仿照
- invoke 调用
- violation 违反
- client 用户
- duplication 复制
- cast转型
- 摘要
- 声明const可以帮助编辑器检测出错误用法
- return 对象by value 意思数据的一份copy
- 备注
- bitwise constness和const和non_const之间的调用看的我有点迷呀!
Item4:Make sure that objects are initialized before they're used.
- 单词
- manually 手动
- member initialization list 成员初始化列表
- directory 目录
- exclude 排除
- 摘要
- 在声明变量x时,有些语境会初始化为0,有的语境不会初始化,所以需要手动初始化
- 在调用构造函数时,使用初始化列表比赋值要效率高,赋值可以看成两个操作,第一步调用构造函数,第二步进行赋值,如果使用初始化列表,则会把第二步省去。
- 注意初始化的顺序,non_local static对象的初始化相对次序无明确定义
- 备注
- 需要注意的是变量声明时要初始化,特别是指针
- 构造函数里,初始化列表要初始化所有的属性。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:CSP201403-1:相反数
下一篇:cpuimage 开源之
- C++ 转换函数搭配友元函数 2020-06-10
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ 运算符重载 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash