mirror of
https://github.com/zh-google-styleguide/zh-google-styleguide.git
synced 2026-08-13 22:13:27 +08:00
@@ -66,7 +66,7 @@
|
||||
* 很难判断什么时候该用前置声明,什么时候该用 ``#includes``, 特别是涉及隐式转换运算符的时候。极端情况下,用前置声明代替 ``includes`` 甚至都会暗暗地改变代码的含义。
|
||||
* 前置声明了不少来自头文件的 symbol 时,就会比单单 ``includes`` 一行冗长。
|
||||
* 前置声明函数或模板有时会害得头文件开发者难以轻易变动其 API. 就像扩大形参类型,加个自带默认参数的模板形参等等。
|
||||
* 前置声明来自命名空间 ``std::` 的 symbol 时,其行为未定义。
|
||||
* 前置声明来自命名空间 ``std::`` 的 symbol 时,其行为未定义。
|
||||
* 仅仅为了能前置声明而重构代码(比如用指针成员代替对象成员),后者会变慢且复杂起来。
|
||||
* 还没有实践证实前置声明的优越性。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user