c++11 允许声明一个变量或对象(object)而不需要指明其类型,只需说明它是auto。

1.如:

  auto i = 42; //i是整型

  double   f();

  auto d=f(); //d是双精度类型

2.如果类型很长或表达式很复杂时,auto特别有用,如:

  vector<string> v:

  auto pos = v.begin(); //pos has type vector<string>::iterator

  //注意:如果v提供成员函数begin()和end(),则可以用v.begin();否则,用全局性的begin()和end(),如begin(v),end(v);

3.对Range-Based for 循环,如:

  std::vector<double> vec;

  for(auto& elem : vec)  //注意:v提供成员函数begin()和end()

  {

    elem*=3; // 将vector vec的每个元素elem乘以3

  }

  //以上的for(xxx : yyy)可以等同于

   for(auto _pos=begin(yyy), _end=end(yyy); _pos!=_end; ++_pos)

  {

    xxx = *_pos;

    .....

  }

最新文章

  1. svn diff 详解
  2. NodeJs对Mysql封装
  3. input只能输入数字并限制长度
  4. 【原】GO 语言常见错误
  5. 【技术贴】三星Note8 N5100实用教程,关闭相机快门声,增加浏览器退出按钮。
  6. Constructor JavaScript构造器模式。
  7. eclispe中安装hibernate插件
  8. java 关闭钩子函数的应用
  9. 一个简易的kmp教学并给出java实现
  10. 【git】将本地项目上传到远程仓库
  11. python &amp; mysql 操作(compare_sum_fee)
  12. Android--UI之Button
  13. Data Science With R In Visual Studio
  14. Shapley值的一个应用
  15. Authorization Security for Mongodb
  16. Ajax总结一下
  17. ACM模拟赛
  18. 学习git最好的方式
  19. [CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口(转)
  20. maven(2)------maven构建项目

热门文章

  1. 在vps上搭建hexo博客
  2. ER图VISIO 引入Mysql 反向工程
  3. VS代码调试出现:当前不会命中断点。还没有为该文档加载任何符号。
  4. java基础 接口总结
  5. 让div在body中任意拖动
  6. Python面向对象之私有属性和私有方法
  7. linux环境:FTP服务器搭建
  8. 35、element ui tab切换加载echarts不显示或显示不全问题解决:
  9. 前端工程师拿到全新的 Mac 需要做哪些准备
  10. Linux应急响应姿势浅谈