一。auto 类型推断
auto 用于变量的自动推断,原理是--在声明变量的时候,根据变量的初始值的类型,自动为此变量选择匹配的类型,而不需要我们显示指定类型
特点:1.auto 的类型推断是发生在编译期间的,所以不会影响程序执行期间的性能。
特点:2.auto 在编译期间就知道了类型,因此 auto 后面的变量需要立刻初始化。这样编译器才能推断它的实际类型。
//那么编译的时候才能确定 auto 的类型和整个变量的类型。
//因此auto 是有类型的,(可以对照理解 参数模版 T ,参数模版T也是有类型的。)
//然后 在编译期间就可以用真正的类型替换掉auto这个类型占位符了。
特点:3.auto的使用灵活,和指针,引用,const 等 限定符 结合使用。
特点:4.auto 的类型推断 和 函数模版的推断是 非常相似的。因此我们在理解的时候可以结合着函数模版中的 参数T,来对照理解 auto。也可以说 auto 这个东西也是类型声明的一部分。
auto & a;
//总结一:传值方式的auto ,会抛弃引用,抛弃const 等限定符
//总结二:引用传递的auto,引用会被抛弃,const 会被保留。
using boost::typeindex::type_id_with_cvr;
//之前我们在学习函数模版的时候,将函数模版中的参数分为3类。
//a 指针或者引用类型但是不是万能引用
//b 万能引用
//c 传值方式(非指针,非

最低0.47元/天 解锁文章
882

被折叠的 条评论
为什么被折叠?



