Skip to content

中文第五版《C++ Primer》习题答案(C++11), C++ Primer 5th Edition Solutions / Answers Based on C++11.

Notifications You must be signed in to change notification settings

skyhiter/cpp-primer-answers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中文第五版《C++ Primer》习题答案(Chinese 5th Edition Solutions)

经典著作《C++ Primer》中文第五版,示例代码基于 C++11 标准编写。中国工信出版集团 & 电子工业出版社,2013 年 9 月第 1 版,2018 年 6 月第 18 次印刷。

编译环境:

  • Editor: Visual Studio Code
  • Platform: macOS Mojave 10.14.5(Darwin 18.6.0, x86_64), Intel i7-7920HQ CPU @3.10GHz
  • Compiler: Apple LLVM version 10.0.1 (clang-1001.0.46.4)
  • Debugger: lldb-1001.0.13.3

编译命令:

  • g++ some_ex.cpp -o some_ex -std=c++11 (clang必须手动指定 C++11 的 flag)
  • 这里的g++使用的clang前端,编译输出信息与GNU g++/Visual Studio相比可能有较大不同,还请大家注意
// g++(clang)版本
$ g++ --version (macOS的g++其实就是clang的别名,并不是真正的GUN g++)

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.1 (clang-1001.0.46.4)
Target: x86_64-apple-darwin18.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

本项目大量参考:

特别鸣谢 huangmingchuan.


中文原书勘误

中文《C++ Primer》第五版(截止到 2018 年 6 月第 18 次印刷)包含了较多的错误,部分勘误如下:

1. P16. 练习 1.19

题目“修改你为 1.4.1 节练习1.10(第 11 页)...”改为“修改你为 1.4.1 节练习1.11(第 11 页)...”。

1.10 改为 1.11.

2. P21. 下方代码

1.6 书店程序,是不是有两行注释位置写反了?即第 5 行的注释 "// 保存下一条交易记录的变量" 和第 8 行的注释 "// 保存和的变量" 是不是应该互相交换位置

Update: 已证实注释确实写反了,证据参见 P229 中间代码的注释:

// 证据:P229 代码节选

Sales_data total;       //保存当前求和结果的变量
if (read(cin, total)) { // 读入第一笔交易
    //编注:trans应该是transaction的缩写,表示交易、事务等
    Sales_data trans;   //保存下一条交易数据的变量

    ...

} else {
    ...
}

P21. 下方的示例代码中,第 5 行的注释 "// 保存下一条交易记录的变量" 和第 8 行的注释 "// 保存和的变量" 应该互相交换位置。

About

中文第五版《C++ Primer》习题答案(C++11), C++ Primer 5th Edition Solutions / Answers Based on C++11.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages