生活-读书-大事记
文章平均质量分 78
zhangyifei216
这个作者很懒,什么都没留下…
展开
-
Item12 Declare overriding function override
这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。在C++面向对象的世界里面主要是围绕着类,继承和虚函数,而在这个世界里面虚函数的实现就是靠派生类重写基类的虚函数,但是这很容易出错, 这是符合墨菲定律的。因为重写听起来像重载,然而这两个其实是不相关的。class Base { pub原创 2016-10-11 21:20:26 · 1197 阅读 · 0 评论 -
Item11 Prefer deleted functions to private undefined ones
这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。如果你把你的代码提供给其他开发者,但是却不想让其他人调用某些函数,这个时候你只需要不声明这个函数就可以了,但是有的时候你拿到了这个函数声明,但是却又不能让其被调用这就不好办了。典型的比如说赋值成员函数,默认构造成员函数等。这个时候通用的做原创 2016-10-09 19:41:40 · 1159 阅读 · 0 评论 -
Item10 Prefer scoped enums to unscoped enums
这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。通常来说我们在花括号中定义的名称其作用域就在花括号中,但是C++98的枚举类型的声明缺不遵从这个规则。enum Color {black,white,red};auto white = false; //编译出错white已经声明了原创 2016-10-07 23:36:54 · 879 阅读 · 0 评论 -
Item9 Prefer alias declarations to typedefs
这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。C++11中引入的std::unique_ptr智能指针是个好用的东西,在我们使用unique_ptr的时候往往会写出这样的类型std::uniqeu_ptr<std::unordered_map<std::string,std::str原创 2016-10-07 20:23:35 · 1137 阅读 · 0 评论 -
Item8 Prefer nullptr to 0 and NULL
这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。0是int类型,并不是指针类型,但是当0赋值给一个指针类型的时候,0将会被解释成空指针,在C++98中关键字NULL其本质就是一个long int类型的数值0,在实际使用过程中这带来了很多模棱两可的问题。void f(int);void原创 2016-10-07 18:30:25 · 1181 阅读 · 0 评论 -
Item3 Understand decltype
这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。decltype用于用来推导变量的类型,但是不像auto和模板类型推导那样,存在很多类型推导规则,decltype推导出来的类型和变量原来的类型一模一样,没有做任何改动。在C++11中decltype结合auto还可以完成函数返回值的类型原创 2016-09-25 09:43:35 · 1562 阅读 · 0 评论 -
<<Effective C++>读书笔记(四)
条款41 了解隐式接口和编译期多态模板编程是一种隐式接口编译期多态技术,class则是显示接口,运行时多态对于class而言接口是显示的,以函数签名为中心,多态则是通过virtual函数发生在运行期。对于template而言,接口是隐式的,多态通过template具现化和函数重载解析发生在编译器条款42 了解typename的双重意义在模板中class和typename关键字没有区别,模板内的原创 2016-04-12 19:52:38 · 553 阅读 · 0 评论