《C++编程规范》章节试读

当前位置:首页 > 网络编程 > 编程语言与程序设计 > C++编程规范章节试读

出版社:人民邮电出版社
出版日期:2006-1
ISBN:9787115142054
作者:(美)Herb Sutter, Andrei Alexandrescu
页数:216页

《C++编程规范》的笔记-第21页

许多类型要求对这种共享对象进行串行访问,但是有些类型却不要求这样。后者通常要么从设计中去掉加锁需求,要么自己进行内部加锁,无论哪种情况,仍然需要留意内部加锁粒度的局限。

《C++编程规范》的笔记-第91页

如果允许多态删除,则析构函数必须是公用的,而且必须是虚拟的。……如果不允许多态删除,则析构函数必须是非公用的,而且应该是非虚拟的。

《C++编程规范》的笔记-第50页 - 第28条,优先调用++的前缀形式

++和--的标准形式是:
T &T::operator++(){ //前缀形式
//执行递增 //完成任务
return * this; //总是返回 *this
}
T T::operator++(int){
T old(*this);
++ *this;
return old; //返回旧值
}
前缀和后缀形式的输入工作量相当,但是前缀的效率更高一些,注意:后缀形式返回的是旧值!!!

《C++编程规范》的笔记-第76页

将私有部分隐藏在一个不透明的指针(即指向已经声明但是尚未定义的类的指针,最好是选择合适的智能指针)

《C++编程规范》的笔记-第51页 - 29条,考虑重载以避免隐含类型转换

没看懂这一节的意义。

《C++编程规范》的笔记-第54页

不要编写依赖于函数参数求值顺序的代码

《C++编程规范》的笔记-第43页 - 总是编写内部#include保护符,而非外部

为了防止重复包含,在.h文件中应该写:
#ifndef FOO_H
#define FOO_H
//文件内容
#endif
而不是在引用.h文件的源码中写
#ifndef FOO_H
#define FOO_H
#include foo.h
#endif

《C++编程规范》的笔记-第16页

让一个正确的程序更快速,比让一个快速的程序正确,要容易得太多,太多。

《C++编程规范》的笔记-第87页

在构造函数中用初始化代替赋值A():s1_("Hello, "), s2_("world"){}

《C++编程规范》的笔记-第58页 - 用组合代替继承

使用组合:用智能指针保存对象,减少编译时间.
考虑将虚拟函数声明为非public,将public成员函数声明为非虚拟(所谓的非虚拟接口模式NVI)

《C++编程规范》的笔记-第13页

软件简单为美:质量优于速度,简单优于复杂,清晰优于机巧,安全优于不安全。

《C++编程规范》的笔记-第14页

如果能够证明优化必要而且非常重要,尤其在数据量逐渐增长的情况下,那么应该集中精力改善算法的O(N)复杂性,而不是进行小型的优化,比如节省一个多余的加法运算。

《C++编程规范》的笔记-第4页

无法修改的库头文件可能包含引起警告(可能是良性的)的构造。如果这样,可以用自己的包含原头文件的版本将此文件包装起来,并有选择地为该作用域关闭烦人的警告,然后在整个项目的其他地方包含此包装文件。

《C++编程规范》的笔记-第182页

不要对非POD(Plain Old Data)进行memcpy操作或者memcmp操作

《C++编程规范》的笔记-第154页

在容器中只存储值和智能指针

《C++编程规范》的笔记-第31页

在函数声明中,要避免将通过值传递的函数参数声明为const。

《C++编程规范》的笔记-第140页

使用异常报告错误的优势:
1.异常不能不加修改地忽略
2.异常是自动传播的
3.有了异常处理,就不必在控制流的主线中加入错误处理和恢复了
4.对于构造函数和操作符报告错误来说,异常处理要优于其他方案


 C++编程规范下载 更多精彩书评


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024