由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
诺森现代C++编程:从入门到实践:a fast-paced introduction
¥ ×1
目 录 Contents <br />序<br />前言<br />致C语言程序员<br />部 C++语言核心<br />章 启动和运行2<br />1.1 C++程序的基本结构2<br />1.1.1 创建个C++源文件3<br />1.1.2 main函数:C++程序的入口点3<br />1.1.3 程序库:引入外部代码3<br />1.2 编译器工具链4<br />1.2.1 设置开发环境4<br />1.2.2 Windows 10以及后续版本:<br /> Visual Studio5<br />1.. macOS: Xcode6<br />1.2.4 Linux和GCC7<br />1.2.5 文本编辑器10<br />1.3 开始认识C++11<br />1.3.1 C++类型系统11<br />1.3.2 声明变量11<br />1.3.3 初始化变量的状态11<br />1.3.4 条件语句12<br />1.3.5 函数14<br />1.3.6 printf格式指定符15<br />1.3.7 重新审视step_function16<br />1.3.8 注释 17<br />1.4 调试18<br />1.4.1 Visual Studi8<br />1.4.2 Xcde9<br />1.4.3 用GDB和LLDB对GCC和<br /> Clang进行调试20<br />1.5 总结<br />练习<br />拓展阅读24<br />第2章 类型25<br />2.1 基本类型25<br />2.1.1 整数类型25<br />2.1.2 浮点类型28<br />2.1.3 字符类型30<br />2.1.4 布尔类型31<br />2.1.5 std::byte类型33<br />2.1.6 size_t类型34<br />2.1.7 void35<br />2.2 数组35<br />2.2.1 数组初始化35<br />2.2.2 访问数组元素35<br />2.. for循环简介36<br />2.2.4 C风格字符串38<br />. 用户自定义类型41<br />..1 枚举类型41<br />..2 普通数据类44<br />.. 联合体45<br />2.4 全功能的C++类46<br />2.4.1 方法47<br />2.4.2 访问控制47<br />2.4.3 构造函数49<br />2.4.4 初始化51<br />2.4.5 析构函数55<br />2.5 总结56<br />练习56<br />拓展阅读56<br />第3章 引用类型57<br />3.1 指针57<br />3.1.1 寻址变量58<br />3.1.2 指针解引用59<br />3.1.3 成员指针运算符60<br />3.1.4 指针和数组61<br />3.1.5 指针很危险63<br />3.1.6 void指针和std::byte指针65<br />3.1.7 nullptr和布尔表达式65<br />3.2 引用65<br />3.3 指针和引用的使用66<br />3.3.1 前向链表:经典的基于指针的<br /> 数据结构66<br />3.3.2 使用引用68<br />3.3.3 this指针69<br />3.3.4 const正确69<br />3.3.5 const成员变量71<br />3.3.6 成员初始化列表71<br />3.4 auto类型推断72<br />3.4.1 用auto进行初始化73<br />3.4.2 auto和引用类型73<br />3.4.3 auto和代码重构73<br />3.5 总结74<br />练习74<br />拓展阅读75<br />第4章 对象生命周期76<br />4.1 对象的存储期76<br />4.1.1 分配、释放和生命周期76<br />4.1.2 内存管理77<br />4.1.3 自动存储期77<br />4.1.4 静态存储期77<br />4.1.5 线程局部存储期80<br />4.1.6 动态存储期81<br />4.2 追踪对象的生命周期83<br />4.3 异常84<br />4.3.1 throw关键字84<br />4.3.2 使用try-catch代码块85<br />4.3.3 stdlib异常类86<br />4.3.4 异常处理88<br />4.3.5 用户定义的异常89<br />4.3.6 noexcept关键字90<br />4.3.7 调用栈和异常90<br />4.4 SimlSrig类92<br />4.4.1 追加和打印93<br />4.4.2 使用SimlSrig94<br />4.4.3 组合SimlSrig95<br />4.4.4 调用栈展开96<br />4.4.5 异常和能9<br />4.4.6 异常的替代方法98<br />4.5 复制语义99<br />4.5.1 复制构造函数101<br />4.5.2 复制赋值103<br />4.5.3 默认复制105<br />4.5.4 复制指南106<br />4.6 移动语义106<br />4.6.1 复制行为可能浪费资源106<br />4.6.2 值类别108<br />4.6.3 左值引用和右值引用108<br />4.6.4 std::move函数109<br />4.6.5 移动构造110<br />4.6.6 移动赋值110<br />4.6.7 成果111<br />4.6.8 编译器生成的方法113<br />4.7 总结114<br />练习114<br />拓展阅读115<br />第5章 运行时多态116<br />5.1 多态116<br />5.2 一个有启发的例子116<br />5.2.1 添加新的日志记录器119<br />5.2.2 接口119<br />5.. 对象组合和实现继承119<br />5.3 定义接口120<br />5.3.1 基类继承120<br />5.3.2 成员继承121<br />5.3.3 虚方法122<br />5.3.4 纯虚类和虚析构函数124<br />5.3.5 实现接口125<br />5.3.6 使用接口126<br />5.4 更新银行日志记录器126<br />5.4.1 构造函数注入127<br />5.4.2 属注入127<br />5.4.3 构造函数注入和属注入的<br /> 选择128<br />5.5 总结129<br />练习129<br />拓展阅读129<br />第6章 编译时多态130<br />6.1 模板130<br />6.2 声明模板130<br />6.2.1 模板类定义131<br />6.2.2 模板函数定义131<br />6.. 实例化模板131<br />6.3 类型转换函数132<br />6.3.1 const_cast132<br />6.3.2 static_cast133<br />6.3.3 reinterpret_cast134<br />6.3.4 narrow_cast134<br />6.4 mean:模板函数示例136<br />6.4.1 通用mean136<br />6.4.2 模板类型推断138<br />6.5 SimpleUniquePointer:模板类<br /> 示例139<br />6.6 模板中的类型检查142<br />6.7 concept143<br />6.7.1 定义concept143<br />6.7.2 类型特征144<br />6.7.3 约束要求146<br />6.7.4 从requires表达式构建<br /> concept147<br />6.7.5 使用concept147<br />6.7.6 临时requires表达式151<br />6.8 static_assert:concept之前的权宜<br /> 之计153<br />6.9 非类型模板参数154<br />6.10 可变参数模板156<br />6.11 高级模板主题156<br />6.11.1 模板特化156<br />6.11.2 名字绑定157<br />6.11.3 类型函数157<br />6.11.4 模板元编程157<br />6.12 模板源代码组织157<br />6.13 运行时多态与编译时多态对比158<br />6.14 总结158<br />练习158<br />拓展阅读159<br />第7章 表达式160<br />7.1 运算符160<br />7.1.1 逻辑运算符160<br />7.1.2 算术运算符161<br />7.1.3 赋值运算符162<br />7.1.4 自增和自减运算符163<br />7.1.5 比较运算符163<br />7.1.6 成员访问运算符164<br />7.1.7 三元条件运算符164<br />7.1.8 逗号运算符165<br />7.1.9 重载运算符165<br />7.1.10 重载运算符new167<br />7.1.11 运算符优先级和结合172<br />7.1.12 求值顺序174<br />7.2 自定义字面量175<br />7.3 类型转换175<br />7.3.1 隐式类型转换176<br />7.3.2 显式类型转换178<br />7.3.3 C风格的类型转换179<br />7.3.4 用户自定义类型的转换180<br />7.4 常量表达式181<br />7.4.1 有关色彩的示例182<br />7.4.2 关于constexpr的说明184<br />7.5 volatile表达式184<br />7.6 总结185<br />练习186<br />拓展阅读186<br />第8章 语句187<br />8.1 表达式语句187<br />8.2 复合语句188<br />8.3 声明语句189<br />8.3.1 函数189<br />8.3.2 命名空间192<br />8.3.3 类型别名195<br />8.3.4 结构化绑定197<br />8.3.5 属19<br />8.4 选择语句199<br />8.4.1 if语句199<br />8.4.2 switch语句203<br />8.5 迭代语句204<br />8.5.1 while循环204<br />8.5.2 do-while循环205<br />8.5.3 for循环206<br />8.5.4 基于范围的for循环208<br />8.6 跳转语句211<br />8.6.1 break语句212<br />8.6.2 continue语句212<br />8.6.3 goto语句213<br />8.7 总结214<br />练习215<br />拓展阅读215<br />第9章 函数216<br />9.1 函数声明216<br />9.1.1 前缀修饰符216<br />9.1.2 后缀修饰符217<br />9.2 auto返回类型220<br />9.3 auto和函数模板220<br />9.4 重载解析221<br />9.5 可变参数函数222<br />9.6 可变参数模板2<br />9.6.1 用参数包编程2<br />9.6.2 再谈sum函数224<br
本书是为中高级程序员设计的,它深入介绍了现代C++的核心。本书分为两大部分:部介绍C++语言的核心,深入讲解从类型和函数到对象生命周期和表达式的所有内容;第二部分介绍C++标准库和Boost库,深入讲解所有可用的高质量、全功能的工具,涵盖了特殊的工具类、数据结构和算法,并介绍了如何操作文件系统和构建通过网络进行通信的高能程序。本书包含500多个代码样本和近100个练习,可以让你打下坚实的C++基础,你写出让自己引以为傲的可读较、短小精悍且高效的代码。
C++是软件开发中使用广泛的语言之一。在经验丰富的程序员眼中,C++可以写出任何程序员都会引以为傲的可读较、短小精悍且高效的代码。你将通过本书学习现代C++的所有主要特,包括: ?基本类型、引用类型和用户自定义类型; ?使用模板的编译时多态和使用虚拟类的运行时多态; ?对象生命周期,包括存储期、调用栈、内存管理、异常和RAII范式; ?高级表达式、语句和函数; ?智能指针、数据结构、日期和时间、数值工具和概率/统计工具; ?容器、迭代器、字符串和算法; ?流、文件、并发、络和应用程序开发。本书包含500多个代码样本和近100个练习,可以让你打下坚实的C++基础。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格