知识卡片
类型查看非真相
内容
类型显示工具不一定保留完整类型:typeid 的结果可能丢掉引用和顶层常量性,IDE 显示也可能省略信息。编译诊断与保留限定符的工具可辅助验证,最终仍要对照推导规则,不能把一条打印输出当作完整类型证明。
参考来源
- 位置:《Effective Modern C++》第1章《类型推导》,条款四:学会查看类型推导结果(源文件:_epub-src/EPUB/text/ch002.xhtml)
- 结论依据:原文比较 IDE、诊断和保留限定符的工具,指出显示结果不能替代理解推导。
- 原始内容:类型推断可以从IDE看出,从编译器报错看出,从Boost TypeIndex库的使用看出 这些工具可能既不准确也无帮助,所以理解C++类型推导规则才是最重要的