Effective C++
zhongh58
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Effective C++读书笔记(条款07:为多态基类声明virtual析构函数)
C++指出,当派生对象经由基类指针被删除,而该基类带有一个非虚析构函数,其结果未有定义。 实际执行时,通常发生的是派生对象成分没被销毁。基类通常会被销毁,造成一个“局部销毁”对象。解决方法很简单,给基类一个虚析构函数,此后删除的派生类对象就会如你想要的那般。 任何函数只要带有虚函数,都几乎确定应该带有一个虚析构函数 如果类内不含虚函数,通常表示它并不意图被用做一个基类,当类不被企图当作基类,令其析构函数为虚函数通常是个馊主意。 欲实现出虚函数,对象必须携带某些信息,主要用来在运行期...原创 2022-02-27 08:15:00 · 264 阅读 · 0 评论 -
Effective C++读书笔记(条款05:了解C++默默编写并调用哪些函数 && 条款06:若不想使用编译器自动生成的函数,就该明确拒绝)
什么时候空类不再是一个空类呢?当C++处理过它之后。 如果自己没有声明,编译器就会为它声明一个拷贝构造函数、拷贝赋值操作符和一个析构函数。此外,如果你没有声明任何构造函数,编译器也会为你声明一个default构造函数。所有这些函数都是public且inline的。 编译器产出的析构函数是一个非虚函数,除非这个类的基类本身声明有virtual析构函数 如果你打算在一个“内含引用成员”的class内支持赋值操作,你必须自己定义拷贝赋值操作符。面对“内含const成员”的classes,编译器的反应原创 2022-02-26 21:35:49 · 375 阅读 · 0 评论 -
Effective C++读书笔记(条款04:确定对象被使用前已被初始化)
永远在使用对象之前将它初始化。对于无任何成员的内置类型,你必须手功完成此事。 int x=0; //对int进行手工初始化 const char* text="A Cstyle string"; //对指针进行手工初始化 double d; std::cin >> d; //以读取input stream的方式完成初始化 ...原创 2022-02-26 14:12:24 · 451 阅读 · 0 评论 -
Effective C++读书笔记(条款03:尽可能使用const)
如果关键字const出现在*号的左边,被指物是常量。 如果关键字const出现在*号右边,表示指针自身是常量。 如果关键字const出现在*号两边,被指物和指针都是常量。 char greeting[]="Hello"; const char* p=greeting; //non-const pointer, const data(常量指针) char* const p=greeting; //const pointer, non-const data(指针常量) con原创 2022-02-19 21:25:10 · 725 阅读 · 0 评论 -
Effective C++读书笔记(条款02:尽量以const,enum,inline替换#define)
这个条款可以理解成“宁可以编译器替换预处理器”。 使用常量可能比使用#define导致较小量的码,因为预处理器“盲目地将宏名称替换”可能导致目标码出现多份。原创 2022-02-19 20:33:47 · 613 阅读 · 0 评论 -
Effective C++读书笔记(条款01:视C++为一个语言联邦)
一开始,C++只是C加上一些面向对象的特性,C++最开始的名称C with Classes也反映了这个关系。 随着语言的成熟,C++开始接受不同于C with Classes的各种观念、特性和编程战略。Exceptions(异常)对函数的结构化带来不同的做法,templates(模板)将我们带到了新的设计思考方式,STL则定义了一个前所未有的伸展性做法。 现在的C++已经是一个多重范型的编程语言,同时支持过程形式,面向对象形式,函数形式,泛型形式,元编程形式。 要理解C++,最简单的方法是原创 2022-02-16 12:31:04 · 313 阅读 · 0 评论 -
Effective C++读书笔记(导读)
声明式是告诉编译器某个东西的名称和类型,但略去细节。 extern int x; //对象声明式 std::size_t numDigits(int num); //函数声明式 class Widge; //类声明式 template<typename T> //模板声明式 class GraphNode; std这个命名空间是几乎所有C++标准程序库元素原创 2022-02-16 12:03:52 · 408 阅读 · 0 评论
分享