mirror of
https://github.com/CnTransGroup/EffectiveModernCppChinese.git
synced 2025-01-27 04:10:30 +08:00
Update item4.md
This commit is contained in:
parent
19d63b4ec8
commit
b66681e516
@ -4,7 +4,7 @@
|
||||
|
||||
选择使用工具查看类型推导,取决于软件开发过程中你想在哪个阶段显示类型推导信息。我们探究三种方案:在你编辑代码的时候获得类型推导的结果,在编译期间获得结果,在运行时获得结果。
|
||||
|
||||
<font size = 5>**IDE编辑器**</font>
|
||||
### IDE编辑器
|
||||
|
||||
在IDE中的代码编辑器通常可以显示程序代码中变量,函数,参数的类型,你只需要简单的把鼠标移到它们的上面,举个例子,有这样的代码中:
|
||||
````cpp
|
||||
@ -19,7 +19,7 @@ IDE编辑器可以直接显示`x`推导的结果为`int`,`y`推导的结果为
|
||||
|
||||
对于像`int`这样简单的推导,IDE产生的信息通常令人很满意。正如我们将看到的,如果更复杂的类型出现时,IDE提供的信息就几乎没有什么用了。
|
||||
|
||||
<font size = 5>**编译器诊断**</font>
|
||||
### 编译器诊断
|
||||
|
||||
另一个获得推导结果的方法是使用编译器出错时提供的错误消息。这些错误消息无形的提到了造成我们编译错误的类型是什么。
|
||||
|
||||
@ -48,7 +48,7 @@ error: 'yType' uses undefined class 'TD<const int *>'
|
||||
````
|
||||
除了格式不同外,几乎所有我测试过的编译器都产生了这样有用的错误消息。
|
||||
|
||||
<font size = 5>**运行时输出**</font>
|
||||
### 运行时输出
|
||||
|
||||
使用`printf`的方法使类型信息只有在运行时才会显示出来(尽管我不是非常建议你使用`printf`),但是它提供了一种格式化输出的方法。现在唯一的问题是只需对于你关心的变量使用一种优雅的文本表示。“这有什么难的,“你这样想,”这正是`typeid`和`std::type_info::name`的价值所在”。为了实现我们我们想要查看`x`和`y`的类型的需求,你可能会这样写:
|
||||
````cpp
|
||||
|
Loading…
Reference in New Issue
Block a user