由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高99元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版 C++编程规范 101条规则 准则与最佳实践
¥ ×1
组织和策略问题
第0条不要拘泥于小节(又名:了解哪些东西不应该标准化)
第1条在高警告级别干净利落地进行编译
第2条使用自动构建系统
第3条使用版本控制系统
第4条做代码审查
设计风格
第5条一个实体应该只有一个紧凑的职责.
第6条正确、简单和清晰第一
第7条编程中应知道何时和如何考虑可伸缩性
第8条不要进行不成熟的优化
第9条不要进行不成熟的劣化
第10条尽量减少全局和共享数据
第11条隐藏信息
第12条
懂得何时和如何进行并发性编程
第13条确保资源为对象所拥有。使用显式的RAIⅡ和智能指针……
编程风格
第14条宁要编译时和连接时错误,也不要运行时错误
第15条积极使用const…
第16条避免使用宏
第17条避免使用“魔数”
第18条尽可能局部地声明变量
第19条总是初始化变量
第20条避免函数过长,避免嵌套过深
第21条避免跨编译单元的初始化依赖
第22条尽量减少定义性依赖。避免循环依赖
第23条头文件应该自给自足
第24条 总是编写内部#include保护符,决不要编写外部#include保护符
函数与操作符
第25条正确地选择通过值、(智能)指针或者引用传递参数
第26条保持重载操作符的自然语义…
第27条优先使用算术操作符和赋值操作符的标准形式
第28条优先使用++和-的标准形式。优先调用前缀形式
第29条考虑重载以避免隐含类型转换…
第30条避免重载&&、11或,(逗号)…
第31条不要编写依赖于函数参数求值顺序的代码
类的设计与继承
第32条弄清所要编写的是哪种类
第33条用小类代替巨类
第34条用组合代替继承
第35条避免从并非要设计成基类的类中继承
第36条优先提供抽象接口…
第37条公用继承即可替换性。继承,不是为了重用,而是为了被重用
第38条实施安全的覆盖
第39条考虑将虚拟函数声明为非公用的,将公用函数声明为非虚拟的
第40条要避免提供隐式转换
第41条将数据成员设为私有的,无行为的聚集(C语言形式的struct)除外
第42条不要公开内部数据
第43条明智地使用Pimpl
第44条优先编写非成员非友元函数
第45条总是一起提供new和delete
第46条如果提供类专门的new,应该提供所有标准形式(普通、就地和不抛出)
构造、析构与复制
第47条以同样的顺序定义和初始化成员变量
第48条在构造函数中用初始化代替赋值
第49条避免在构造函数和析构函数中调用虚拟函数
第50条将基类析构函数设为公用且虚拟的,或者保护且非虚拟的
……
STL:算法
第83条使用带检查的STL实现
第84条用算法调用代替手工编写的循环
第85条使用正确的STL查找算法
第86条使用正确的STL排序算法
第87条使谓词成为纯函数
第88条算法和比较器的参数应多用函数对象少用函数
第89条正确编写函数对象…
类型安全
第90条避免使用类型分支,多使用多态
第91条依赖类型,而非其表示方式
第92条避免使用reinterpret_cast.
第93条避免对指针使用 static_cast
第94条避免强制转换const
第95条不要使用C风格的强制转换
第96条不要对非POD进行memcpy 操作或者memcmp 操作
第97条不要使用联合重新解释表示方式
第98条不要使用可变长参数(..)
第99条不要使用失效对象。不要使用不安全函数
第100条不要多态地处理数组
参考文献
摘要汇总
索引
Herb Sutter是ISO C++标准委员会主席,《C++ Users Journal》杂志特邀编辑和专栏作家。他目前在微软公司领导.NET环境下C++语言扩展的设计工作。
Andrei Alexandrescu是C++专业人士,《C++ Users Journal》杂志的专栏作家,他的《Modern C++ Design》一书曾荣获2001年C++图书称号。
本书两位知名的C++专家将全球C++界20年的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。书中对每一条规范都给出了的描述,并辅以实例说明;从类型定义到错误处理,都给出了佳的C++实践,即使使用C++多年的程序员也会从本书中受益匪浅。
良好的编程规范可以改善代码质量,缩短上市时间,提升团队效率,简化维护工作。在本书中,两位受尊敬的C++专业人士将优选C++社区的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。
本书涵盖了C++程序设计的每一个方面,包括设计和编码风格、函数、操作符、类的设计、继承、构造与析构、赋值、名字空间、模块、模板、泛型、异常、STL容器和算法等。书中对每一条规范都给出了言简意赅的概述,并辅以实例说明;另外还给出了从类型定义到错误处理等方面的大量C++实践,包括许多总结和标准化的技术。即使使用C++多年的程序员也会从中受益匪浅。
通过阅读本书,可以找到以下问题的答案。
哪些东西值得标准化?哪些东西不值得标准化?
使代码可扩展的方法是什么?
合理的错误处理策略有哪些要素?
如何(和为什么要)避免不必要的初始化、循环依赖和定义依赖?
何时应该(以及如何)同时使用静态和动态的多态性;
如何实践“安全的”改写?
何时该提供不会失败的交换?
为什么阻止异常跨越模块边界传播?如何阻止?
为什么不应该在头文件中写名字空间声明或指令?
为什么应该使用STL vector和string代替数组?
如何选择正确的STL搜索或排序算法?
为了保证代码的类型安全,应该遵从哪些规则?
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格
