From fe1e14ac5a1fd6c50089c7f9dc98f93322f47379 Mon Sep 17 00:00:00 2001 From: YuZhang <505039426@qq.com> Date: Tue, 26 Jun 2018 09:58:46 +0800 Subject: [PATCH] Update others.rst --- google-cpp-styleguide/others.rst | 50 ++++++++++++++++---------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/google-cpp-styleguide/others.rst b/google-cpp-styleguide/others.rst index 04ed98b..be77548 100644 --- a/google-cpp-styleguide/others.rst +++ b/google-cpp-styleguide/others.rst @@ -1,7 +1,7 @@ -5. 其他 C++ 特性 +6. 其他 C++ 特性 ---------------------------- -5.1. 引用参数 +6.1. 引用参数 ~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -37,7 +37,7 @@ 总之大多时候输入形参往往是 ``const T&``. 若用 ``const T*`` 说明输入另有处理。所以若您要用 ``const T*``, 则应有理有据,否则会害得读者误解。 -5.2. 右值引用 +6.2. 右值引用 ~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -68,7 +68,7 @@ .. _function-overloading: -5.3. 函数重载 +6.3. 函数重载 ~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -99,7 +99,7 @@ 如果您打算重载一个函数, 可以试试改在函数名里加上参数信息。例如,用 ``AppendString()`` 和 ``AppendInt()`` 等, 而不是一口气重载多个 ``Append()``. -5.4. 缺省参数 +6.4. 缺省参数 ~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -132,7 +132,7 @@ const AlphaNum &c = gEmptyAlphaNum, const AlphaNum &d = gEmptyAlphaNum); -5.5. 变长数组和 alloca() +6.5. 变长数组和 alloca() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -151,7 +151,7 @@ 改用更安全的分配器(allocator),就像 ``std::vector`` 或 ``std::unique_ptr``. -5.6. 友元 +6.6. 友元 ~~~~~~~~~~~~~~~~ .. tip:: @@ -164,7 +164,7 @@ .. _exceptions: -5.7. 异常 +6.7. 异常 ~~~~~~~~~~~~~~~~ .. tip:: @@ -209,7 +209,7 @@ .. _RTTI: -5.8. 运行时类型识别 +6.8. 运行时类型识别 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TODO @@ -270,7 +270,7 @@ 不要去手工实现一个类似 RTTI 的方案. 反对 RTTI 的理由同样适用于这些方案, 比如带类型标签的类继承体系. 而且, 这些方案会掩盖你的真实意图. -5.9. 类型转换 +6.9. 类型转换 ~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -301,7 +301,7 @@ .. _streams: -5.10. 流 +6.10. 流 ~~~~~~~~~~~~~~ .. tip:: @@ -354,7 +354,7 @@ 每一种方式都是各有利弊, "没有最好, 只有更适合". 简单性原则告诫我们必须从中选择其一, 最后大多数决定采用 ``printf + read/write``. -5.11. 前置自增和自减 +6.11. 前置自增和自减 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -377,7 +377,7 @@ 对简单数值 (非对象), 两种都无所谓. 对迭代器和模板类型, 使用前置自增 (自减). -5.12. ``const`` 用法 +6.12. ``const`` 用法 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -414,7 +414,7 @@ 这是说, 我们提倡但不强制 ``const`` 在前. 但要保持代码的一致性! (Yang.Y 注: 也就是不要在一些地方把 ``const`` 写在类型前面, 在其他地方又写在后面, 确定一种写法, 然后保持一致.) -5.13. ``constexpr`` 用法 +6.13. ``constexpr`` 用法 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -437,7 +437,7 @@ 靠 constexpr 特性,方才实现了 C++ 在接口上打造真正常量机制的可能。好好用 constexpr 来定义真・常量以及支持常量的函数。避免复杂的函数定义,以使其能够与constexpr一起使用。 千万别痴心妄想地想靠 constexpr 来强制代码「内联」。 -5.14. 整型 +6.14. 整型 ~~~~~~~~~~~~~~~~~~ .. tip:: @@ -482,7 +482,7 @@ 因此, 使用断言来指出变量为非负数, 而不是使用无符号型! -5.15. 64 位下的可移植性 +6.15. 64 位下的可移植性 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -544,7 +544,7 @@ .. _preprocessor-macros: -5.16. 预处理宏 +6.16. 预处理宏 ~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -565,7 +565,7 @@ - 不要试图使用展开后会导致 C++ 构造不稳定的宏, 不然也至少要附上文档说明其行为. - 不要用 ``##`` 处理函数,类和变量的名字。 -5.17. 0, ``nullptr`` 和 ``NULL`` +6.17. 0, ``nullptr`` 和 ``NULL`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -578,7 +578,7 @@ 字符 (串) 用 ``'\0'``, 不仅类型正确而且可读性好. -5.18. sizeof +6.18. sizeof ~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -604,7 +604,7 @@ return false; } -5.19. auto +6.19. auto ~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -677,7 +677,7 @@ .. _braced-initializer-list: -5.20. 列表初始化 +6.20. 列表初始化 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -767,7 +767,7 @@ .. _lambda-expressions: -5.21. Lambda 表达式 +6.21. Lambda 表达式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -805,7 +805,7 @@ .. _template-metaprogramming: -5.22. 模板编程 +6.22. 模板编程 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: 不要使用复杂的模板编程 @@ -836,7 +836,7 @@ .. _boost: -5.23. Boost 库 +6.23. Boost 库 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. tip:: @@ -889,7 +889,7 @@ - `Array `_ : ``boost/array.hpp``, 改用 `std::array `_ -5.24. C++11 +6.24. C++11 ~~~~~~~~~~~~~~~~~~~~~~ .. tip::