编码的法则-C++程序员不可不知的101条实用经验
温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>
- ISBN:9787113176532
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:442
- 出版时间:2014-01-01
- 条形码:9787113176532 ; 978-7-113-17653-2
本书特色
本书深入浅出地介绍了c++语言的各种语法特性,不仅是一本实用的参考用书,还是笔者多年来对c++语言开发的经验和感悟。内容结构独具匠心,以实际实例为背景,结合主题,探讨c++语言面向对象的深入细节,有助于加深读者对c++语言开发的运用。
本书涵盖了与c++语言相关的大部分知识,在提供丰富内容的同时,进一步探讨了更高深的c++特性及其应用场景,旨在帮助有较少开发经验的c++程序员加深理解,从而避开c++开发的误区和陷阱,同时也可以帮助中高级读者进一步提高分析和解决实际问题的能力。
内容简介
★以实例为背景 精心筛选作者多年亲历开发案例,融入解决问题实践技巧 ★避开应用陷阱 加深对c++开发的认识,熟练驾驭c++设计中种种潜在的风险 ★提升代码质量 既要有效率,又要有弹性;既要面向对象,又兼容面向过程 ★凝聚经验感悟 语言平实,结合主题,娓娓道来,提升解决实际问题的功力 ★本书中源代码下载地址:http://www.tdpress.com/zyzx/tsscflwj
目录
第1篇 c++基本语言特征
第1章 快速入门
实用经验1 c++程序由哪些部分构成
实用经验2 既有面向过程,为何还要面向对象
实用经验3 掌握在c++中如何使用c
实用经验4 c++比c加了什么
第2章 变量和类型
实用经验5 计算机是如何存储变量的
实用经验6 确保每个对象在使用前已被初始化
实用经验7 局部变量和全局变量的差别
实用经验8 掌握变量定义的位置与时机
实用经验9 引用难道只是别人的替身
实用经验10 枚举和一组预处理的#define有何不同
实用经验11 为何struct x1{struct x1 stx};无法通过编译
实用经验12 实现可变数组struct{int namelen; char namestr[1];};
实用经验13 typedef使用的陷阱
实用经验14 优化结构体中元素的布局
实用经验15 既有结构,为何引入联合
实用经验16 提防隐式转换带来的麻烦
实用经验17 深刻理解void和void*
实用经验18 如何判定变量是否相等
第3章 关键字
实用经验19 尽可能多地使用const
实用经验20 volatile和mutable用在何处
实用经验21 尽量用new/delete替代malloc/free
实用经验22 使用new/delete时要采用相同的形式
实用经验23 sizeof和对象的大小
实用经验24 谨慎使用static
第4章 数组和指针
实用经验25 理解指针的本质
实用经验26 论数组和指针的等价性
实用经验27 再论数组和指针的差异性
实用经验28 充满疑惑的数组指针和指针数组
实用经验29 禁止以多态的形式处理数组
实用经验30 防微杜渐,拒绝野指针
实用经验31 臭名昭著的空指针到底是什么
实用经验32 多维数组和指针
实用经验33 引用和指针的差异
第5章 表达式和语句
实用经验34 运算符引发的混乱
实用经验35 尽量使用c++转换操作符
实用经验36 表达式求值顺序不要想当然
实用经验37 switch-case的陷阱
实用经验38 a || b和a&&b的陷阱
实用经验39 “悬挂”else引起的问题
实用经验40 标示语句结束的分号的思考
实用经验41 goto真的一无是处吗
实用经验42 条件操作符和逗号操作符
实用经验43 同魔鬼数字说再见
实用经验44 关于循环语句的讨论
第6章 函数
实用经验45 禁止函数返回局部变量的引用
实用经验46 函数传值、传指针及传引用的效率分析
实用经验47 内联函数会像宏一样替换吗
实用经验48 函数重载需考虑什么
实用经验49 不要让main返回void
实用经验50 尽量拒绝使用变参函数
实用经验51 如何降低函数的圈复杂度
第7章 字符和字符串
实用经验52 关于字符编码的讨论
实用经验53 请牢记字符串结束标志为'\0'
实用经验54 请务必小心使用memcpy()系列函数
实用经验55 正确地使用字符串处理函数
第8章 预处理
实用经验56 使用#define定义字面值和伪函数
实用经验57 #define的使用陷阱
实用经验58 防止重复包含头文件
实用经验59 assert的副作用
实用经验60 关于#和##的讨论
第2篇 类和数据抽象
第9章 类
实用经验61 绝不让构造函数为虚函数
实用经验62 避免在构造/析构函数中调用虚函数
实用经验63 不使用编译器自动生成的函数,就明确拒绝
实用经验64 struct和class的关系
实用经验65 class对象大小与什么有关系
实用经验66 将成员变量声明为private
实用经验67 关于对象复制的思考
实用经验68 首选初始化列表实现类成员初始化
实用经验69 理解常量成员函数
第10章 重载操作符
实用经验70 由重载&&、||和,操作符想到的
实用经验71 区别++/--操作符前置和后置差异
实用经验72 重载operator[]的注意事项
实用经验73 重载operator=的陷阱
实用经验74 重载操作符,类成员函数还是友元函数
实用经验75 有些运算符重载应该成对实现
第3篇 c++面向对象机制
第11章 继承和多态
实用经验76 多态基类的析构函数应为虚函数
实用经验77 明晰public、protected、private 3 种继承差别
实用经验78 慎用多继承机制
实用经验79 时刻提防对象切片
实用经验80 明晰派生类构造/析构运行原理
实用经验81 谨慎使用private继承
实用经验82 区分overloading、overriding、 hiding的差异
实用经验83 确保public继承是“is-a”关系
实用经验84 区分接口继承和实现继承
实用经验85 不要重新定义继承而来的非虚函数
实用经验86 绝对不要重新定义继承而来的默认参数
实用经验87 切忌继承过度滥用
实用经验88 虚函数重载的陷阱
实用经验89 关于虚赋值的问题
第12章 模板和泛型
实用经验90 将模板的声明和定义放到一个文件中
实用经验91 区分继承、模板及组合
实用经验92 区分函数模板与模板函数、类模板和模板类
第4篇 c++高级特性
第13章 高级特性
实用经验93 合理地使用断言(assert)
实用经验94 虚函数的实现原理
实用经验95 检测和定位内存泄漏的技巧
实用经验96 可执行文件*.exe(*.dll)剖析
实用经验97 c++为何引入命名空间
实用经验98 避免使用“聪明的技巧”
实用经验99 试着在代码中使用设计模式
实用经验100 改善c++程序运行效率的措施
实用经验101 提高(改善)代码可读性的措施
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0