当前位置: 首页 > article >正文

c++ auto关键字皮毛

        c++中auto是根据自动推导变量类型的关键字,它可以很好的简化代码.下面就来简单了解一下它.

auto简单认识

        先举一个简单的使用例子.

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

void A(int a)
{
	cout << "int" << endl;
}
void A(double a)
{
	cout << "double" << endl;
}
int main()
{
	auto a = 1;
	auto b = 1.11;
	A(a);
	A(b);
	return 0;
}

        上述代码的输出结果如下,可以看出auto自动推导出a和b的类型.

        也正是因为auto会根据初始化的数或表达式推导类型,所以在定义auto变量时必须初始化.并且在使用auto时不可以在一行定义多个类型不同的变量.如下

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int main()
{
	auto a1 = 1, a2 = 2;
	cout << a1 << " " << a2 << endl;

	//auto b1 = 1, b2 = 1.11;	err
	return 0;
}

auto与指针联合

        auto可以自己识别指针类型也可以用auto*来定义指针变量,但是后者初始化的类型必须为指针,不可以为非指针类型.

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int main()
{
	int a = 1;
	auto b = &a;
	auto c = a;//相当于又定义了一个int的变量c,并把它的值初始化为a的值1
	auto* d = &a;
	//auto* e = a;	err
	cout << b << " " << d << endl;
	cout << a << " " << c << endl;
	
	*b = 2;
	cout << a << " " << c << endl;
	cout << *b << " " << *d << endl;

	*d = 3;
	cout << a << " " << c << endl;
	cout << *b << " " << *d << endl;

	return 0;
}

        暂时我只接触了这点皮毛~等以后深入学习后也会对auto进行补充.


http://www.kler.cn/a/585713.html

相关文章:

  • ACL初级总结
  • 人工智能时代教育行业该如何转型:迎接挑战,塑造未来教育生态
  • 揭秘AI:机器学习与深度学习的奥秘
  • 浅谈数据分析及数据思维
  • SSM企业台账管理平台
  • NodeJS接口
  • DB-GPT-0.7版本win11安装,最新版本,安装方式变更了
  • Microsoft Excel 2024 LTSC mac v16.95 表格处理软件 支持M、Intel芯片
  • Java入职篇(1)——心态篇
  • jvm汇总
  • 基于相量测量单元(PMU)的电力系统故障分析MATLAB仿真
  • linux常用基本指令汇总
  • 散货拼柜业务痛点有哪些?货代公司如何通过散拼系统提高效率?
  • ABC 375
  • Mybaties批量操作
  • SAP BC 记一次 DBCO 链接ORACLE DBCC 连接测试突然失败的问题
  • Python中将Markdown文件转换为Word
  • 【Linux】从互斥原理到C++ RAII封装实践
  • Web安全:保护您的网站免受网络威胁
  • Microsoft Outlook 2024 LTSC for Mac v16.95 电子邮件和日历 支持M、Intel芯片