编辑“︁
Auto (C++)
”︁(章节)
跳转到导航
跳转到搜索
脚本错误:没有“Mainspace editnotice”这个模块。
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
==用法== 根据初始化表达式自动推断被声明的变量的类型,如: auto f=3.14; //double auto s("hello"); //const char* auto z = new auto(9); // int* auto x1 = 5, x2 = 5.0, x3='r';//錯誤,必須是同一類型 但是,这么简单的变量声明类型,不建议用auto关键字,而是应更清晰地直接写出其类型。 auto关键字更适用于类型冗长复杂、变量使用范围专一时,使程序更清晰易读: std::vector<int> vect; for(auto it = vect.begin(); it != vect.end(); ++it) { //it的類型是std::vector<int>::iterator std::cin >> *it; } 或者保存[[匿名函数#C.2B.2B|lambda表达式类型]]的变量声明: auto ptr = [](double x){return x*x;};//类型为std::function<double(double)>函数对象 在[[模板 (C++)|模板函数]]定义时,如果变量的类型依赖于模板参数,使用auto关键字使得在编译期确定这些类型,如: template <class T, class U>void Multiply(T t, U u) { auto v = t * u; std::cout<<v; } 模板函数的返回类型如果也是依赖于从模板参数推导, template <typename _Tx, typename _Ty> auto multiply(_Tx v1, _Ty v2) -> decltype( _Tx * _Ty ) { return v1*v2; } auto result = multiply(101, 1.414); // 结果类型是double
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息