Effective C++
文章平均质量分 62
WhiteJunior
这个作者很懒,什么都没留下…
展开
-
条款01:视C++为一个语言联邦
C、Object-Oriented C++、Template C++、STL原创 2018-06-11 22:48:51 · 1541 阅读 · 0 评论 -
条款20(一):宁以pass-by-reference-to-const替换pass-by-value
为了减少构造和析构的代价,使用穿引用原创 2018-08-14 01:20:13 · 260 阅读 · 0 评论 -
条款19:设计class犹如设计type
设计class要考虑的问题原创 2018-08-13 16:22:39 · 200 阅读 · 0 评论 -
条款18(二):让接口容易被正确使用,不易被误用
对tr1::shared_ptr的删除器进行定义,cross-DLL问题的解决原创 2018-08-12 22:37:25 · 350 阅读 · 0 评论 -
条款18(一):让接口容易被正确使用,不易被误用
接口的定义、以函数替换对象原创 2018-08-12 01:58:22 · 339 阅读 · 0 评论 -
条款17:以独立语句将newed对象置入智能指针
注意newed时,语句的执行次序原创 2018-08-07 01:10:19 · 363 阅读 · 0 评论 -
条款16:成对使用new和delete时要采用相同形式
new和delete的格式匹配原创 2018-08-06 12:07:29 · 233 阅读 · 0 评论 -
条款14:在资源管理类中小心copying行为
小心在资源管理类中进行copy、引用计数法原创 2018-07-30 23:18:24 · 356 阅读 · 0 评论 -
条款11(二):在operator= 中处理“自我赋值”
异常安全性&自我赋值安全性、Copy&Swap原创 2018-07-22 21:25:26 · 569 阅读 · 0 评论 -
条款21(一):必须返回对象时,别妄想返回其reference
不要盲目使用reference去替代value,在stack与heap内创建对象原创 2018-08-22 10:58:02 · 464 阅读 · 1 评论 -
条款21(二):必须返回对象时,别妄想返回其reference
直接返回新对象原创 2018-08-22 15:41:44 · 319 阅读 · 0 评论 -
条款25(二):考虑写出一个不抛异常的swap函数
成员函数swap、不要向std内添加新东西原创 2018-08-24 12:48:20 · 542 阅读 · 0 评论 -
条款25(一):考虑写出一个不抛异常的swap函数
swap的缺省实现原创 2018-08-23 23:01:33 · 304 阅读 · 0 评论 -
条款24(二):若所有参数皆需类型转换,请为此采用non-member函数
位于参数列的参数才会被隐式转换原创 2018-08-23 22:13:38 · 857 阅读 · 0 评论 -
条款24(一):若所有参数皆需类型转换,请为此采用non-member函数
隐式转换、non-explicit的构造函数原创 2018-08-23 21:35:42 · 431 阅读 · 0 评论 -
条款23(二):宁以non-member、non-friend替换member函数
namsepace和头文件的运用,将机能划分和扩展原创 2018-08-23 14:04:24 · 375 阅读 · 0 评论 -
条款23(一):宁以non-member、non-friend替换member函数
non-member更具封装性原创 2018-08-23 12:18:25 · 587 阅读 · 0 评论 -
条款22:将成员变量声明为private
封装!protected也不比public更具备封装性原创 2018-08-22 20:49:54 · 462 阅读 · 0 评论 -
条款20(二):宁以pass-by-reference-to-const替换pass-by-value
slicing问题、内置类型和STL容器与函数并不适用原创 2018-08-19 23:09:53 · 391 阅读 · 0 评论 -
条款15:在资源管理类中提供对原始资源的访问
显式转换与隐式转换原创 2018-08-03 22:34:12 · 351 阅读 · 0 评论 -
条款11(一):在operator= 中处理“自我赋值”
自我赋值原创 2018-07-22 18:41:14 · 340 阅读 · 0 评论 -
条款07(二):为多态基类声明virtual析构函数
不要无端将析构函数声明为virtual、pure virtual 析构函数、析构函数的运作原理原创 2018-07-09 21:14:28 · 204 阅读 · 0 评论 -
条款05:了解C++默默编写并调用了哪些函数
编译器暗自生成的default构造函数、copy构造函数、copy assignment操作符、析构函数原创 2018-07-02 15:00:15 · 217 阅读 · 0 评论 -
条款03(二):尽可能使用const
const成员函数、重载、bitwise和logical原创 2018-06-27 11:44:52 · 253 阅读 · 0 评论 -
条款07(一):为多态基类声明virtual析构函数
Factory函数、Virtual析构函数原创 2018-07-08 21:42:29 · 259 阅读 · 0 评论 -
条款03(一):尽可能使用const
const基本用法,STL迭代器中的const、函数中的const原创 2018-06-26 16:45:40 · 257 阅读 · 0 评论 -
条款04(二):确定对象被使用前已经被初始化
成员初始化次序、non-local static对象原创 2018-07-01 16:08:55 · 219 阅读 · 0 评论 -
条款04(一):确定对象被使用前已经被初始化
将对象初始化,内置类型的初始化,构造函数的初始化,赋值&初始化的区别原创 2018-06-30 14:57:33 · 350 阅读 · 0 评论 -
条款02:尽量用const,enum,inline替换#define
尽量用const,enum,inline替换#define原创 2018-06-12 20:14:05 · 486 阅读 · 0 评论 -
条款03(三):尽可能使用const
在const和non-const成员函数中避免重复原创 2018-06-28 14:38:04 · 353 阅读 · 0 评论 -
条款10:令operator= 返回一个reference to *this
连锁赋值原创 2018-07-22 15:16:51 · 490 阅读 · 0 评论 -
条款13(二):以对象管理资源
RCSP原创 2018-07-26 23:50:26 · 246 阅读 · 0 评论 -
条款13(一):以对象管理资源
资源、auto_ptr、RAII原创 2018-07-26 21:32:25 · 227 阅读 · 0 评论 -
条款12(二):复制对象时勿忘其每一个成分
derived调用base函数、消除代码重复原创 2018-07-25 14:43:30 · 238 阅读 · 0 评论 -
条款12(一):复制对象时勿忘其每一个成分
copying函数、不完全复制原创 2018-07-25 01:31:21 · 348 阅读 · 0 评论 -
条款06:若不想使用编译器自动生成的函数,就该明确拒绝
拒绝拷贝操作,Uncopyable class的定义原创 2018-07-07 22:40:47 · 201 阅读 · 0 评论 -
条款09:绝不在构造和析构过程中调用virtual函数
base class中的析构函数、初始化顺序原创 2018-07-18 16:37:29 · 766 阅读 · 0 评论 -
条款08:别让异常逃离析构函数
多个异常的抛出、不要让异常进行传播、给用户提供一个一个处理异常的机会原创 2018-07-16 16:24:22 · 205 阅读 · 0 评论 -
条款25(三):考虑写出一个不抛异常的swap函数
成员版本的swap不要抛出异常!原创 2018-08-24 19:38:45 · 350 阅读 · 0 评论