引子
選擇使用什么工具查看類型推導(dǎo)結(jié)果,取決于你想在軟件周期的哪個階段查看。我們將探討3個可能的時間點:編輯代碼時期,編譯期,運行期。
正文
IDE Editors
編輯代碼時,當(dāng)我們把光標(biāo)置于變量上,通常會顯示出變量類型。
編譯診斷
想讓編譯器顯示出它推導(dǎo)出的某個類型時,只要錯誤地使用它就可以了。因為錯誤信息肯定會顯示引起錯誤的類型。
運行時輸出
可以打印typeid、std::type_info::name信息,但實際是不可靠的。因為std::type_info::name推導(dǎo)類型時,參數(shù)是傳值的方式,這會導(dǎo)致丟失原有引用性質(zhì)、const性質(zhì)和volatile性質(zhì)。
使用Boost.TypeIndex。
總結(jié)
- 推導(dǎo)的類型可以通過IDE編輯器、編譯錯誤信息和Boost.TypeIndex庫查看。
- 某些工具的結(jié)果不準(zhǔn)確也毫無幫助,因此理解C++類型推導(dǎo)規(guī)則很有必要。