大家好,我是编程猴
小猴最近开始学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的安全公司,
最近想提升下菜菜的自己,准备将学习的知识输出一些笔记, 欢迎大家一起打卡学习!(^_^)