c++中使用auto关键字需要包含哪个头文件啊?

c++中使用auto关键字需要包含哪个头文件啊?,第1张

贴出你的代码。我这样用是没问题的:

#include <iostream>

using namespace std

int main() {

auto int i = 12345

cout << i << endl

return 1

}

查找步骤如下图所示:

1、双击鼠标左键,打开我的电脑,进入磁盘分区页面。

2、在磁盘分区页面,选择需要查找文件的磁盘分区。

3、然后点击右上角的搜索框。

4、在搜索框中,输入需要查找的文件名称。

5、等待进度条完毕,即可完成查找。

  在c++11时代,auto用于变量的自动类型推断:在声明变量的时候根据变量初始值的类型自动为此变量选择匹配的类型,而不需要我们显示指定类型。

  auto有以下特点:

                  1. auto自动类型推断发生在编译期,所以不会影响程序执行期间的性能

                  2.auto定义的变量必须立即初始化,这样编译器才能推断它的实际类型,那么编译的时候才能确定auto的类型和整个变量的类型,然后在编译期间就可以用真正的类型替换掉auto这个类型占位符

                  3.auto的使用灵活,和指针,和引用,和const等限定符结合使用。

  注意,auto类型推断,和函数模板推断非常类似。

   auto类型推断为传值方式(非指针,非引用),即auto后面直接接变量名

   注意,在传值方式下,引用类型会被抛弃,const属性也会被抛弃。

   注意,在指针或者引用类型(auto*,auto&)但不是万能引用下,不会抛弃const等限定符,但是会丢弃引用。

   当变量类型为万能引用时(auto&&),和模板参数T类型规则相同

   注意,auto it={1,3,5}这是一个针对auto的特殊推导,能推导出std::initializer_list类型。这种推导只适合auto,不适合模板类型。这一点是auto类型推导和模板类型推导的区别之处。其他方面,auto和模板类型推导差不多

   (1)auto不能用于函数参数,比如void func(auto arg1,int y)是不被允许的

   (2)普通成员变量类型不能是auto类型,static const静态成员可以使用auto,使用auto后,其值必须在类内初始化,注意static const和普通静态成员不一样,普通静态成员在头文件声明,然后在.cpp中定义和初始化,static const静态成员就在类里定义和初始化了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/tougao/11478651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存