admin管理员组文章数量:1530307
文章目录
- 十分钟带你解读Effective C++(导读)
- 一、术语
- 1.声明式
- 2.签名式
- 3.定义式
- 4.初始化
- 5.STL
- 6.undefined behavior(不明确行为)
- 7.interface接口
- 二、命名习惯
- 三、关于线程
- 四、TR1和Boost
- 总结
十分钟带你解读Effective C++(导读)
参考书籍EffectiveC++第三版,后续不断更新,以最简洁的语言代码,跟我一起啃完它!
一、术语
1.声明式
简单来说,告诉编译器这个东西的名字和类型。
extern int x;
std::size_t numDigits(int number);
class Widget;
....
2.签名式
参数和返回类型
例如上面函数的std::size_t
3.定义式
对对象来说就是编译器为此对象播发内存的地点;对函数函数模板来说就是代码本体。
4.初始化
(1)给与对象初始化值。
(2)对构造函数初始化加上explicit可以防止其被执行隐士类型转换。
(3)拷贝构造函数:以同类型对象来初始化自我对象
(4)拷贝复制运算符 :=号也可以调用拷贝构造函数(**3和4区别:**如果=号传给一个新对象,就是拷贝构造,不是新对象就是赋值运算符)对于值传递来说,passby-reference to const是比价好的选择,条款20;
5.STL
标准模板库不多说了。
6.undefined behavior(不明确行为)
例如数组越界,空指针取值等等。记住,不明确(未定义)的行为结果是不可预期的。
int* p= 0;//也可以是nullptr NULL,nullptr是C++11标准规定的建议都用它
std::cout<< *p;//对空指针取值导致不明确行为
7.interface接口
C++不像java那些语言提供interfaces接口元素。所以这里说的接口可能只是,一个函数的签名signature,或者class的一个可访问元素。
二、命名习惯
这部分作者强调习惯使用什么to什么的形式,例如:
Widget* pw;//pw表示ptr to Widget
就是这么简单
三、关于线程
先说历史问题,当C++被全世界关注的时候,多线程 程序(multithread)还不存在,真尴尬哈哈哈哈。
但现在存在了,所以本书的焦点放在了标准可移植性的C++,但不能忽略线程安全性。
四、TR1和Boost
之后的条款54针对TR1,55针对Boost
前者置于tr1内,后者std。当然可以选择直接跳到最后看这两个部分。但我还是选择按顺序记录分享。
总结
导读这就没了,是不是很简单,之后按章节继续以最简单的语言讲解。
注意:条款指的就是规划,仅此而已。
总共九节,每节按书中顺序分享,有的长的章节七八个条款,有的短的章节三四个条款。
每节十分带你快速掌握,给个关注呗。
版权声明:本文标题:十分钟带你解读Effective C++(导读) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726480679a1072528.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论