lovejobs

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  138 随笔 :: 3 文章 :: 46 评论 :: 28万 阅读

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

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

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

4.下面看cpp测试代码

复制代码
 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 = 10
26     cout << "b = " << b<<endl;//b = 10.1
27 
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的类型然后用这种类型定义一个变量anum
36     anum = &b;
37 
38     cout << *anum << endl;
39     system("pause");
40 
41 }
复制代码

5.再来看看运行结果

 

posted on   lovejobs  阅读(1214)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示