C++读书笔记

超精简Effective Modern C++ 第二章 auto

条款5.优先使用auto而非显示声明

  • 可以少打字
  • 可以防止类型不匹配导致的额外复制
  • 支持跨平台,无需做平台适配
  • 但是存在条款2与条款6的毛病

条款6.如果auto推导得不对就用显式初始化

在使用代理类的时候如果使用auto会导致推导结果为代理类,而不是最终我们想要的结果。

例如vector<bool>返回的实际上并不是bool&而是std::vector<bool>::reference

这个时候我们可以使用强制转换的方式,也可以直接使用显式初始化的方式处理

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注