上一页 1 2 3 4 5 6 7 ··· 14 下一页

2015年9月1日

【more effective c++读书笔记】【第4章】效率(3)

摘要: 条款22:考虑以操作符复合形式(op=)取代其独身形式(op)1、确保操作符的复合形式(如operator+=)和其独身形式 (如 operator+ )之间的自然关系能够存在,一个好方法就是以前者为基础实现后者。例子:#includeusing namespace std;class Ration... 阅读全文

posted @ 2015-09-01 14:17 ruan875417 阅读(161) 评论(0) 推荐(0) 编辑

2015年8月31日

【more effective c++读书笔记】【第4章】效率(2)

摘要: 条款19:了解临时对象的来源1、C++真正的临时对象是不可见的,临时对象通常发生于两种情况:一是当隐式类型转换被施行起来使函数调用能够成功;二是当函数返回对象时。2、只有当对象通过传值方式传递对象或当对象被传递给一个常量引用参数时,才会发生类型转换。如果对象被传递一个非常量引用参数,并不会发生类型转... 阅读全文

posted @ 2015-08-31 10:08 ruan875417 阅读(128) 评论(0) 推荐(0) 编辑

2015年8月30日

【more effective c++读书笔记】【第4章】效率(1)

摘要: 条款16:谨记80-20法则80-20法则说:一个程序80%的资源用于20%的代码身上。80%的执行时间花在大约20%的代码上;80%的内存被大约20%的代码使用;80%的磁盘访问动作由20%的代码执行;80%的维护力气化在了20%的代码上。软件的整体性能几乎总是由其构成要素的一小部分决定。条款17... 阅读全文

posted @ 2015-08-30 15:45 ruan875417 阅读(140) 评论(0) 推荐(0) 编辑

2015年8月29日

【more effective c++读书笔记】【第3章】异常(2)

摘要: 条款12:了解“抛出一个exception”与“传递一个参数”或“调用一个虚函数”之间的差异1、函数参数和exceptions的传递方式有3种:by value,by reference,by pointer。当调用一个函数,控制权最终会回到调用端,但当抛出一个exception,控制权不会再回来抛... 阅读全文

posted @ 2015-08-29 14:14 ruan875417 阅读(175) 评论(0) 推荐(0) 编辑

2015年8月28日

【more effective c++读书笔记】【第3章】异常(1)

摘要: 条款9:利用Destructor避免泄漏资源1、异常无法被忽略:如果一个函数利用“设定状态变量”的方式或是利用“返回错误码”的方式发出一个异常信号,无法保证此函数的调用者会检查那个变量或检验那个错误码。于是程序的执行可能会一直继续下去,远离错误发生地点。但是如果函数以抛出expcetions的方式发... 阅读全文

posted @ 2015-08-28 09:43 ruan875417 阅读(171) 评论(0) 推荐(0) 编辑

2015年8月27日

【more effective c++读书笔记】【第2章】操作符(2)

摘要: 条款7:千万不要重载&&,|| 和, 操作符1、C++对于“真假值表达式”采用“骤死式”评估方式:一旦表达式的真假值确定,即使表达式中还有部分尚未检验,整个评估工作仍告结束。例子:char* p;...if ((p != 0) && (strlen(p) > 10))...不用担心调用strlen时... 阅读全文

posted @ 2015-08-27 14:38 ruan875417 阅读(163) 评论(0) 推荐(0) 编辑

2015年8月26日

【more effective c++读书笔记】【第2章】操作符(1)

摘要: 条款5:对定制的“类型转换函数”保持警觉1、两种函数允许编译器执行隐式转换:单自变量constructor 和隐式类型转换操作符。单自变量constructor是指能够以单一自变量成功调用的constructor,这样的constructor可能声明拥有单一参数,也可能拥有多个参数,并且除了第一参数... 阅读全文

posted @ 2015-08-26 09:44 ruan875417 阅读(126) 评论(0) 推荐(0) 编辑

2015年8月25日

【more effective c++读书笔记】【第1章】基础议题(2)

摘要: 条款3:绝对不要以多态方式处理数组1、继承的最重要性质之一就是,你可以通过指向基类的指针或者引用来操作派生类对象。但是如果你通过基类指针或者引用来操作派生类所形成的数组,它几乎绝不会按你预期般地运作。例子:#includeusing namespace std;class Base{public: ... 阅读全文

posted @ 2015-08-25 14:38 ruan875417 阅读(155) 评论(0) 推荐(0) 编辑

2015年8月24日

【more effective c++读书笔记】【第1章】基础议题(1)

摘要: 条款1:仔细区别pointers和references1、pointers和references之间的区别是:a、没有所谓的null reference,一个reference必须总代表某个对象。pointer可以不指向任何对象。b、pointer可以被重新赋值,指向另一个对象,reference却... 阅读全文

posted @ 2015-08-24 13:41 ruan875417 阅读(140) 评论(0) 推荐(0) 编辑

2015年8月20日

【effective c++读书笔记】【第9章】杂项讨论

摘要: 条款53:不要轻忽编译器的警告警告信息天生和编译器相依,不同的编译器有不同的警告标准。所以草率编程后依赖编译器为你指出错误,并不可取。请记住:严肃对待编译器发出的警告信息。努力在你i的编译器的最高(最严苛)警告级别下争取“无任何警告”的荣誉。不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态... 阅读全文

posted @ 2015-08-20 13:51 ruan875417 阅读(133) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 14 下一页

导航