![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Effective C++读书笔记
疯癫小程序
这个作者很懒,什么都没留下…
展开
-
More Effective C++--条款2: 尽量使用 C++风格的类型转换
static_cast 以下命名为Aconst_cast 以下命名为Bdynamic_cast 以下命名为Creinterpret_cast 以下命名为DC 风格的类型转换(type)expression 以下命名为E首先声明一点: E无所不能,从功能上可以完全取代A, B, C, D 注意,我这里只说了 "从功能上" 注意我的措辞 为什么C++编译器要引入 A, B, C, D ? 就是...原创 2018-07-06 14:00:03 · 246 阅读 · 0 评论 -
Effective C++--条款42: 了解typename的双重含义
template<typename C>void print2nd(const C& container){ if(container.size() >= 2) { C::const_iterator iter(container.begin())); //C::iterator 嵌套从属名称 ++iter ; int value = *i...原创 2018-07-21 20:58:12 · 355 阅读 · 0 评论 -
Effective C++--条款47: 请使用traits classes表现类型信息
STL五种迭代器类型(卷标): struct input_iterator_tag{} ; =>1 struct output_iterator_tag{} ; =>2 struct forward_iterator_tag:public input_iterator_tag{} ; =>3 struct bidirectional_iterator_tag:pu...原创 2018-07-21 21:22:57 · 264 阅读 · 0 评论 -
Effective C++读书笔记之六
条款七:为多态基类声明virtual析构函数 有很多种做法可以记录时间,因此,设计一个TimeKeeper base class和一些derived classes作为不同的计时方法,相当合情合理:class TimeKeeper{public原创 2011-09-08 22:37:46 · 572 阅读 · 0 评论 -
Effective C++读书笔记之八
条款九:绝不在构造函数和析构函数中调用virtual函数 本条款开始前我要先阐述重点:你不该在构造函数和析构函数期间调用virtual函数,因为这样的调用不会带来你预想的结果,就算有你也不会高兴。如果你同时也是一位Java或C#程序员,请更加注意本原创 2011-09-10 15:18:04 · 510 阅读 · 0 评论 -
Effective C++读书笔记之七
条款八:别让异常逃离析构函数 C++并不禁止析构函数吐出异常,但它不鼓励你这样做。这是有理由的。这是有理由的。考虑以下代码:class Widget{public:...~Widget(){...}// 假设这个可能吐出一个异常} ;原创 2011-09-10 15:10:58 · 484 阅读 · 0 评论 -
Effective C++读书笔记之五
条款六:若不想使用编译器自动生成的函数,就该明确拒绝 地产中介商卖的是房子,一个中介软件系统自然而然想必有个class用来描述待售房屋:class HomeForSale{...} ; 每一个真正的地产中介商都会说,任何一笔资原创 2011-09-08 22:30:38 · 558 阅读 · 0 评论 -
Effective C++读书笔记之四
条款五:了解C++默默编写并调用哪些函数 什么时候empty class不再是个empty class呢?当C++处理过它之后。是的,如果你自己没声明。编译器就会为它(编译器版本的)一个copy构造函数、一个copy assignment操作符和一个析构原创 2011-09-07 22:53:47 · 528 阅读 · 0 评论 -
Effective C++读书笔记之三
条款四:确定对象被使用前已先被初始化 关于“将对象初始化”这事,C++似乎反复无常。如果你这么写: int a ; 在某些语境下x保证被初始化(为0),但在其他语境中却不保证。如果你这么写:class Point{原创 2011-09-04 18:15:22 · 962 阅读 · 0 评论 -
Effective C++读书笔记之二
条款3:尽可能使用const 首先来看const的多才多艺: * char greeting[] = "Hello" ; * char* p = greeting ; // non-const pointer,non-con原创 2011-09-01 23:11:21 · 646 阅读 · 0 评论 -
Effective C++读书笔记之一
条款1:视C++为一个语言联邦 这句话是从c++支持特别多的语言形式来说的,首先它支持过程形式,其次支持面向对象形式(主体),函数形式,泛型形式,元编程形式。这些能力和弹性使C++成为一个无可匹敌的工具。 C++作为总语言可以细分为下面四个原创 2011-09-01 21:32:46 · 668 阅读 · 0 评论