温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

深谈auto变量

发布时间:2020-07-28 03:44:17 来源:网络 阅读:382 作者:lzwxx 栏目:网络安全

1.c++中有一个关键字auto,c语言也有这么一个关键字,但是两者的意义大不相同。

2.c++中用auto定义的变量自动匹配赋值号右边的值的类型,具有自动匹配类型的作用,而c语言中auto只是声明一个变量为自动类型,说明这个变量的代码块生存期和分配在栈上,并且不能用来定义变量。

3.c++中auto可以起到泛型的作用,你不管给我传什么类型,我都可以识别,而且按类型使用这个变量。

4.下面看cpp测试代码

深谈auto变量

 1 #include <iostream> 2  3 using namespace std; 4  5 /* 6 自动变量:自动匹配类型 7 auto  num = pc;通用传入接口 8 decltype (num) anum;/通用备份接口 9 */10 11 void main()12 {13 14     auto a = 10;//将a解析为整数变量15     auto b = 10.1;//将b解析为浮点数变量16 17     int array[10];18     int i = 0;19     for (auto arr : array)//增强for循环20     {21         arr = i++;22         cout << arr << endl;23     }24 25     cout << "a = " << a<<endl;//a = 1026     cout << "b = " << b<<endl;//b = 10.127 28     double c = 11.9;29     double *pc = &c;30     auto  num = pc;//自动让num匹配pc类型,31     cout << typeid(num).name() << endl;//typeid为一个结构体,这个结构体关于num,然后求其信息name,结果为double *32     cout << typeid(c).name() << endl;//使用typeid(变量名).name()可以获取变量的类型信息33     cout << typeid(pc).name() << endl;34     //typeid(num).name() d; 这种做法不允许,应使用下面的做法35     decltype (num) anum;//获取变量num的类型然后用这种类型定义一个变量anum36     anum = &b;37 38     cout << *anum << endl;39     system("pause");40 41 }

深谈auto变量

5.再来看看运行结果

深谈auto变量


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI