Effective C++
文章平均质量分 71
Effective C++相关条款及解释
sunximei1
这个作者很懒,什么都没留下…
展开
-
第四部分-设计与声明
条款22:将成员变量声明为private。条款23:以non-member、non-friend替换member函数考虑下例:class WebBrowser{public: ... void clearCache(); void clearHistory(); void removeCookies();};如果想定义某个操作调用上述三个函数,可以另外定义一个成员函数:public: ... void clearEverything();//依次调用上述三个函数;另一个做法是原创 2021-10-01 16:20:23 · 96 阅读 · 0 评论 -
第三部分-资源管理
条款13:原创 2021-09-30 21:04:51 · 72 阅读 · 0 评论 -
第二部分-构造/析构/赋值运算
条款05:编译器可为class创建默认的构造函数、析构函数、拷贝构造函数、拷贝赋值运算符。条款06:拒绝编译器自动生成的函数做法。例如不希望使用class的默认拷贝函数和默认拷贝赋值运算符,有两种做法:1.将函数声明为private。此时对象无法调用此函数(编译期就报错)。但是此方法不是绝对安全,因为成员函数和友元函数仍然可以调用,此时连接器会报错。为了将连接期错误转移到编译期(更早侦测出错误),使用方法2.2.定义uncopyable的base classclass Uncopyable原创 2021-09-30 19:51:44 · 76 阅读 · 0 评论 -
第一部分-习惯C++
条款02:尽量以const,enum,inline替换#define可以理解为用“编译器”替换“预处理器”,因为#define不被视为语言的一部分。#define 实现的是替换一、#define ASPECT_RATIO 1.653可能在编译器开始处理源码前,ASPECT_RATIO就被替换成1.653了,所以记号名称ASPECT_RATIO没有进入记号表(symbol table)内。当使用此常量出现编译错误时,错误信息也许只会提到1.653而不是ASPECT_RATIO,为调试带来了困难。解原创 2021-09-30 16:56:05 · 84 阅读 · 0 评论