理解模板類型推導(dǎo)_1.0
一段偽碼
調(diào)用會(huì)是這樣:
在編譯的時(shí)候,編譯器通過(guò) expr 來(lái)進(jìn)行推導(dǎo)出兩個(gè)類型:一個(gè)是 T 的,另一個(gè) 是 ParamType 。通常來(lái)說(shuō)這些類型是不同的,因?yàn)?ParamType 通常包含一些類型的裝飾,比 如 const 或引用特性。
舉個(gè)例子,模板通常采用如下聲明:
如果有這樣的調(diào)用:
在上面的例子中, x 是一個(gè) int , T 也就被推導(dǎo)成 int 。
T 的類型不僅和 expr 的類型獨(dú)立,而且還和 ParamType 的形式獨(dú)立。(??? f(expr);??? )
標(biāo)簽: