Effective Modern C++翻译(5)-条款4(三)

2015-07-20 17:28:58 · 作者: · 浏览: 21
&)
?
尖括号里的类型是T被推导的类型,为const Widget*,同样和我们用typeid得到的结果一样,括号内的类型是函数参数的类型,是const Widget* const&,和我们用typeid得到的结果不一样,
?
但同样和我们使用TD在编译期得到的类型信息一致。
?
?
?
Clang的_PRETTY_FUNCTION_,尽管使用了和GNU一样的名字,但是格式却和GNU或是Microsoft的不一样,它仅仅显示了:
?
void f(const Widget *const &)
?
它直接显示出了参数的类型,但是需要我们自己去推导出T的类型被推导为了const Widget*(或者我们也可以利用typeid的信息来获得T的类型)
?
IDE编辑器,编译器的错误诊断信息,typeid和_PRETTY_FUNCTION_,_FUNCSIG_之类的语言扩展仅仅只是帮助你弄明白编译器推导出的结果是什么,但是最后,没有什么能替代条款1-3中所描述的类型推导相关的指导方针。
?
?