Skip to content

Commit

Permalink
typo
Browse files Browse the repository at this point in the history
  • Loading branch information
FeignClaims authored Oct 1, 2024
1 parent 1528953 commit aa08af7
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions ppp3_chapter0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@

*AA* 我们非常强调思想和原理. 思想能指导你求解实际问题——可以帮助你知道在什么情况下问题求解方案是好的、合理的. 你还应该理解这些思想背后的原理, 从而理解为什么要接受这些思想, 为什么遵循这些思想会对你和使用你的代码的用户有帮助. 没有人会满意 "因为事情就是如此" 这样的解释. 更为重要的是, 如果真正理解了思想和原理, 你就能将自己已知的知识推广到新的情况; 就能用新的方法将思想和工具结合来解决新的问题. 知其所以然是学会程序设计技巧所必需的. 相反, 仅仅不求甚解地记住大量规则和语言特性有很大局限, 是错误之源, 是在浪费时间. 我们认为你的时间很珍贵, 尽量不要浪费它.

我们把很多 C++ 语言层面的技术细节驱除到了其他地方, 大多数放在了网站上 (:ref:`天鹅书网站资源`). 我们假定你会主动查找需要的信息. 要学会用本书的索引和目录. 不要忘了你编译器的在线帮助文档. 但要记住, 要对所有互联网资源保持足够的怀疑, 直至你有足够的理由相信它们. 因为很多看起来很权威的网站实际上是由程序设计新手或者想要出售什么东西的人建立的. 而另外一些网站的内容完全过时了. 我们在支持网站 `https://www.stroustrup.com/programming.html`_ 上列出了一些网站链接和信息 (译注: 我提供的见于 :doc:`/searching_method/main` 和 :ref:`learning_map_常用网站资源`).
我们把很多 C++ 语言层面的技术细节驱除到了其他地方, 大多数放在了网站上 (:ref:`天鹅书网站资源`). 我们假定你会主动查找需要的信息. 要学会用本书的索引和目录. 不要忘了你编译器的在线帮助文档. 但要记住, 要对所有互联网资源保持足够的怀疑, 直至你有足够的理由相信它们. 因为很多看起来很权威的网站实际上是由程序设计新手或者想要出售什么东西的人建立的. 而另外一些网站的内容完全过时了. 我们在支持网站 https://www.stroustrup.com/programming.html 上列出了一些网站链接和信息 (译注: 我提供的见于 :doc:`/searching_method/main` 和 :ref:`learning_map_常用网站资源`).

请不要过于急切地期盼 "实际的" 例子. 我们理想的实例都是能直接说明一种语言特性、一个概念或者一种技术的简短代码. 很多现实世界中的实例比我们给出的实例要凌乱很多, 而且不过是我们所展示内容的组合. 包含数十万行代码的成功商业程序正是基于我们用几个 50 行规模的程序所展示出来的技术. 理解现实世界程序的最快途径, 就是深入掌握基础知识.

Expand Down Expand Up @@ -179,7 +179,7 @@ C++ 建立在两个支柱上:
0.3 ISO 标准 C++
========================================================================================================================

C++ 由 ISO 标准定义. 首个 ISO C++ 标准于 1998 年获得批准, 因而该版本 C++ 被称为 C++98. 本书这一版的代码采用当代 C++ (Contemporary C++), 即 C++20 (加上一些 C++23 的内容). 如果你的编译器不支持 C++20 [C++20], 请更新至最新版本编译器. 你可以从各种供应商处下载优秀的现代 C++ 编译器, 请参见 `www.stroustrup.com/compilers.html <www.stroustrup.com/compilers.html>`_. 使用较早且支持性较差的语言版本学习程序设计可能会遇到不必要的困难. (译注: :ref:`我的 C++ 环境配置教程 <环境配置>`.)
C++ 由 ISO 标准定义. 首个 ISO C++ 标准于 1998 年获得批准, 因而该版本 C++ 被称为 C++98. 本书这一版的代码采用当代 C++ (Contemporary C++), 即 C++20 (加上一些 C++23 的内容). 如果你的编译器不支持 C++20 [C++20], 请更新至最新版本编译器. 你可以从各种供应商处下载优秀的现代 C++ 编译器, 请参见 https://www.stroustrup.com/compilers.html. 使用较早且支持性较差的语言版本学习程序设计可能会遇到不必要的困难. (译注: :ref:`我的 C++ 环境配置教程 <环境配置>`.)

另一方面, 你看处于只能使用 C++14 或 C++17 的环境中. 本书的大部分内容仍然适用, 但你会因缺乏 C++20 引入的特性而遇到问题:

Expand Down Expand Up @@ -265,7 +265,7 @@ C++20 [C++20] 是 C++ 的一次重大改进, 其重要性与 C++11 相当, 并
这使得标准库可用.

不幸的是, 标准并未保证对 :cpp:`vector` 等容器进行范围检查 (range checking), 而大多数实现默认情况下也不强制执行这样的检查. 通常, 这样的强制检查必须通过启用因编译器而异的选项来开启. 我们认为范围检查对于简化学习过程并减少挫败感至关重要. 因此, 我们提供了一个名为 :cpp:`PPP_support` 的模块, 该模块提供了一个保证对下标操作进行范围检查的 C++ 标准库版本 (参见 `https://www.stroustrup.com/programming.html`_). 因此, 请勿直接使用 :cpp:`std` 模块, 而是改为使用:
不幸的是, 标准并未保证对 :cpp:`vector` 等容器进行范围检查 (range checking), 而大多数实现默认情况下也不强制执行这样的检查. 通常, 这样的强制检查必须通过启用因编译器而异的选项来开启. 我们认为范围检查对于简化学习过程并减少挫败感至关重要. 因此, 我们提供了一个名为 :cpp:`PPP_support` 的模块, 该模块提供了一个保证对下标操作进行范围检查的 C++ 标准库版本 (参见 https://www.stroustrup.com/programming.html). 因此, 请勿直接使用 :cpp:`std` 模块, 而是改为使用:

.. code-block:: cpp
:linenos:
Expand All @@ -278,7 +278,7 @@ C++20 [C++20] 是 C++ 的一次重大改进, 其重要性与 C++11 相当, 并

*AA* 如果你不能下载本书的支持库, 或者在编译时遇到困难, 可以直接使用标准库, 但要设法找到启用范围检查的方法. 所有主要 C++ 实现都有这样的选项, 但要设法找到并启用它并非易事. 对于所有环境配置问题, 最佳做法是向有经验的人寻求建议.

此外, 当你阅读到第 10 章并需要运行图形学 (Graphics) 和图形用户界面 (Graphical User Interface, GUI) 的代码时, 你需要安装 Qt graphics/GUI 系统以及为本书专门设计的接口库. 参见 *印刷错误* 和 `https://www.stroustrup.com/programming.html`_.
此外, 当你阅读到第 10 章并需要运行图形学 (Graphics) 和图形用户界面 (Graphical User Interface, GUI) 的代码时, 你需要安装 Qt graphics/GUI 系统以及为本书专门设计的接口库. 参见 *印刷错误* 和 https://www.stroustrup.com/programming.html.

(译注: :ref:`我的 C++ 环境配置教程 <环境配置>` 默认配置了检查, 并直接支持天鹅书第二版、第三版使用的教学库和 Qt.)

Expand All @@ -290,14 +290,14 @@ C++20 [C++20] 是 C++ 的一次重大改进, 其重要性与 C++11 相当, 并

网上关于 C++ 的资料浩如烟海, 包括文本和视频. 遗憾的是, 这些资料的质量参差不齐, 许多针对高水平用户, 许多已经过时. 因此, 使用时请小心谨慎, 并保持足够的怀疑态度.

*AA* 本书的支持网站是 `https://www.stroustrup.com/programming.html`_. 在那里, 你可以找到
*AA* 本书的支持网站是 https://www.stroustrup.com/programming.html. 在那里, 你可以找到

- :cpp:`PPP_support` 模块源代码 (:ref:`天鹅书支持库`).
- :cpp:`PPP.h` 和 :cpp:`PPPheaders.h` 头文件 (:ref:`天鹅书支持库`).
- 一些本书支持库的安装指南.
- 一些代码示例.
- 勘误表.
- 天鹅书第二版 (《Programming: Principles and Practice Using C++》第二版) [PPP2] 中为了节省篇幅和因为有其他资源可用而被删减的章节. 这些章节可在 `https://www.stroustrup.com/programming.html`_ 获取, 并在天鹅书第三版文本中以如下形式引用: PPP2.Ch22 或 PPP2.§22.1.2.
- 天鹅书第二版 (《Programming: Principles and Practice Using C++》第二版) [PPP2] 中为了节省篇幅和因为有其他资源可用而被删减的章节. 这些章节可在 https://www.stroustrup.com/programming.html 获取, 并在天鹅书第三版文本中以如下形式引用: PPP2.Ch22 或 PPP2.§22.1.2.

其他网络资源:

Expand Down Expand Up @@ -376,4 +376,4 @@ Bjarne Stroustrup 是 C++ 的设计者和最初实现者, 也是《C++程序设
后记
========================================================================================================================

每章最后都附有一个简短的 "后记", 试图对该章节所呈现的内容提供一些看法. 我们这样做是因为认识到这些内容可能——而且通常是——令人望而生畏的, 而只有在完成习题, 阅读后续章节 (应用本章中的概念) 并回顾本章之后, 才能完全理解. *不要慌!* 放轻松; 会有这种情况是很自然的, 而且在我们预料之中. 你不会在一天内就成为专家, 但通过学习本书, 你可以成为一名相当称职的程序员. 在此过程中, 你会遇到许多信息, 众多示例和诸多技术, 这些都曾令成千上万的程序员感到振奋和有趣.
每章最后都附有一个简短的 "后记", 试图对该章节所呈现的内容提供一些看法. 我们这样做是因为认识到这些内容可能——而且通常是——令人望而生畏的, 而只有在完成习题, 阅读后续章节 (应用本章中的概念) 并回顾本章之后, 才能完全理解. *不要慌!* 放轻松; 会有这种情况是很自然的, 而且在我们预料之中. 你不会在一天内就成为专家, 但通过学习本书, 你可以成为一名相当称职的程序员. 在此过程中, 你会遇到许多信息, 众多示例和诸多技术, 这些都曾令成千上万的程序员感到振奋和有趣.

0 comments on commit aa08af7

Please sign in to comment.