c++11知识:auto类型推导


大家好,我是编程猴

小猴最近开始学C++11,不定期更新所学笔记,期待学习后的蜕变吧!

如果有补充获改进的,欢迎评论区留言

前言

在这里插入图片描述

用过 go语言的读者可能会觉得其中的一些特性比较好用,比如类型推导,在 C++ 11 之前(C++98 和 C++ 03),每种数据类型都需要在编译时显式声明

C++11引入了auto关键字实现类型推导,通过这个关键字不仅能方便地获取复杂的类型,而且还能简化书写,提高编码效率。

auto使用

auto可用于对容器进行遍历,这样更加的简洁
auto使用代码示例

#include <iostream>
#include <typeinfo> 
using namespace std;

int main()
{

	auto a = 5;
	auto b = 5.1;
	auto ptr = &a;
	cout << "a type is:"<<typeid(a).name() << endl;
	cout << "b type is:"<<typeid(b).name() << endl;
	cout << "ptr type is:"<<typeid(ptr).name() << endl;

	return 0;
}

输出:

a type is:int
b type is:double
ptr type is:int *

应用场景

容器遍历使用auto

#include <map>
#include <iostream>
using namespace std;
int main(void) 
{
	//创建一个map并初始化
	std::map<double, double> resultMap;
	resultMap[1.0] = 1.0;
	resultMap[2.0] = 2.0;
	resultMap[3.0] = 3.0;
	resultMap[4.0] = 4.0;
	resultMap[5.0] = 5.0;

	//遍历输出值
	std::map<double, double>::iterator it = resultMap.begin();
	for (; it != resultMap.end(); ++it) {
		//do something
		cout <<  "key :" << it->first << "value :" << it->second << endl;

	}
	return 0;
}

输出:

key :1value :1
key :2value :2
key :3value :3
key :4value :4
key :5value :5

作者简介

大家好,我是编程猴
目前已经搬砖2年啦,从事后端开发工作,在一家全国前10的安全公司,
最近想提升下菜菜的自己,准备将学习的知识输出一些笔记, 欢迎大家一起打卡学习!(^_^)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程猴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值