《Effective c++》
不是程序员是码农
这个作者很懒,什么都没留下…
展开
-
《Effective C++》条款1:视c++为一个语言联邦
我们因为准备面试而看的这本书,其实还是挺遗憾的,虽然这本书包含了很多面试官会问的问题,但是跟多的是如果去在细节把控这门语言。 在面试的时候面试官可能会问你:什么是泛型编程?什么是智能指针?什么是元编程?(海康威视)当时我记得没有回答上来,也说明自己对于c++的一些知识不是很熟悉,面试最终也没有过。 当然c++还支持了多重泛型编程、支持过程形式的编程...原创 2018-07-29 12:21:06 · 493 阅读 · 0 评论 -
《Effective C++》条款2:尽量以const、enum、inline替代#define
首选在宏替换是在预处理阶段进行,记住宏替换是最最最最简单的方式进行替换,也仅仅是做替换原因一:因为宏是进行最简单的宏替换,因此如果出现以下的情况#define ASPECT_PATIO 213在程序中所有的ASPECT_PATIO都被替换成213,可能会存在这样一个情况,使用了这个宏,但是出现了一个错误,但是编译器不会提到ASPECT_PATIO,反而会提到213,这样就可能存在一个...原创 2018-07-29 23:13:03 · 138 阅读 · 0 评论 -
《Effective C++》导读
导读:当我在写这篇文章的时候,《Effective C++》这本书我自己还没有看完,但是这本带给我的好处越发明显,这本书不是类似于《C++ primer》,他不是介绍C++的基本语法,在我的眼里《C++ primer》这本书更像是一部C++的字典,让你能认识很多“字”,但是我们知道,我们应该有很少的人去专门学习一本字典,但是《Effective C++》这本书更像是一本作文书,...原创 2018-07-22 22:29:43 · 191 阅读 · 0 评论 -
《Effective c++》 条款3:尽可能的使用const
const就是常量的意思,如果你做过题,你应该会碰过下面的物种情况,没碰到也没关系,看看区中有什么区别?char greeting []="hello"; char *p=greeting; //non-const pointer,non-const dataconst char *p=greeting; //non-const ...原创 2018-08-05 16:56:28 · 285 阅读 · 0 评论 -
《Effective C++》条款4:确定对象在使用前已被初始化
有些时候,我们会认为没有初始化没有关系,特别数组的初始化,认为不初始化没什么关系,但是有些时候,我们可能太依赖编译器了,因为有时候C++的标准没有做出规定,这个时候就依赖编译器了,你可能运行会得到正确的结果,但是这个放到其他地方很可能就出错。 步入正题:很可能你会觉得不就是个初始化, 简单。但是在这之前你应该知道什么叫初始化,我们直接讨论要自己构造的对象,因为内置类型...原创 2018-08-11 23:50:04 · 228 阅读 · 0 评论 -
《Effective C++》条款6:若不想使用编译器自动生成函数,就该明确拒绝
条款5中讲了编译器会默认为我们定义一些函数,①copy构造函数 ②copy assignment ③析构函数④default构造函数 ,那如果我们不想使用这些函数怎么办?条款5中讲到了,什么情况我们需要自己定义cpoy assignment和copy 构造函数,要是碰到一种情况,我们不希望对象有这些属性,不希望它能够被拷贝,该如何去做?方法一:将copy构造函数和 copy ...原创 2018-08-26 09:12:59 · 191 阅读 · 0 评论 -
《Effective C++》条款5:了解C++默默编写并调用哪些函数
如果声明一个class,如果自己没有声明,编译器会帮助声明这些函数,这些都是public且inline。:①copy构造函数:主要将对象中的no-static成员变量拷贝到另一个对象之中,但是要注意static是类共有的。②copy assignment:跟copy构造函数一样③析构函数 :是non-virtual的,除非base类的析构函数是virtual的④default构造函数 :...原创 2018-08-19 11:54:24 · 295 阅读 · 0 评论 -
《Effective C++》 条款7:为多态基类声明virtual 析构函数
在多态中我们知道一个最基本使用方法,就是使用基类的指针指向子类,当我们只想在程序使用,不用管具体的计算等细节,可以通过Factory函数,返回一个指针指向一个对象,factory函数会返回一个base类的指针,那么这个derived对象将会存在于heap之中,那么我们该如何释放这个在heap中内存?class TimeKeeper{public: TimeKeeper...原创 2018-09-16 15:44:12 · 153 阅读 · 0 评论