C++11Auto关键字及注意点
程序员文章站
2022-11-11 12:00:30
1.使用阿里云服务器,选择的centos版本,首先安装g++ 4.8.5
yum install gcc-c++
2.写个小程序测试一下:
#include "iostream&q...
1.使用阿里云服务器,选择的centos版本,首先安装g++ 4.8.5
yum install gcc-c++
2.写个小程序测试一下:
#include "iostream" using namespace std; int main() { auto a = 1; return 0; }
编译报错,找不到auto这种类型
3.auto的限制
* auto不能用于函数参数
void testfunc(auto iparam) { } test.cpp:5:20: error: parameter declared ‘auto’ void testfunc(auto iparam) ^auto不能用于非静态成员变量
struct foo { auto var1_ = 0; static const auto var2_ = 0; }; test.cpp:12:15: error: non-static data member declared ‘auto’ auto var1_ = 0; ^auto仅能用于推导static const的整型或者枚举成员。
auto无法定义数组 auto无法推导出模板参数 列表内容
4.什么时候用auto
* 优化代码美观性,减少冗余和繁琐的重复操作
int main() { auto a = 1; std::unordered_multimap resultmap; //... std::pair::iterator, std::unordered_multimap::iterator> range = resultmap.equal_range(key); return 0; } => int main() { auto a = 1; std::unordered_multimap resultmap; //... auto range = resultmap.equal_range(key); return 0; }无法提前感知函数返回类型的时候
class foo { public: static int get(void) //... } class bar { public: static const char* get(void) //... } template void func() { auto val = a::get(); }
上一篇: 七月初七七夕节,,吃传统美食过七夕
下一篇: 早起一碗粥防秋燥 秋季健康饮食原则
推荐阅读
-
NodeJS模块与ES6模块系统语法及注意点详解
-
解析网站URL设置在SEO方面的技巧及注意点
-
浅谈django三种缓存模式的使用及注意点
-
html与css注意事项及小知识点
-
Html中 IFrame的用法及注意点
-
C++11Auto关键字及注意点
-
抖音被恶意刷点赞怎么办(揭秘抖音刷赞骗局及注意项)
-
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集
-
键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集
-
5.键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key,