如何使用关键字" auto"声明和使用变量在C ++中?

时间:2016-01-19 13:27:35

标签: c++ c++11

作为标题,如何使用关键词" auto"来声明变量?在C ++中 我已经尝试过,但失败了

#include <iostream>
 using namespace std;
 int main(int argc, char const *argv[])
 {
      auto v;
      cin >> v;
      cout << v << endl;
      return 0;
  }

2 个答案:

答案 0 :(得分:0)

如果您不知道它返回的确切类型,您可以在从函数中获取结果时使用它。

auto test = someFunc();
cout << a;

例如,std::vector<int>().begin()的结果是什么类型?无需担心:

std::vector<int> myvector = {1, 2, 3};

for (std::vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)
std::cout << ' ' << *it;

您可以将其简化为以下内容:

for (auto it = myvector.begin() ; it != myvector.end(); ++it)
std::cout << ' ' << *it;

正如您所看到的,您并不需要知道it的类型,现在它是您编译器的工作。

答案 1 :(得分:0)

原因是auto不会像php和javascript的var那样表现。 auto只是“使它与我分配给它的数据类型相同”。它本身不是一种数据类型。

正如您所看到的,在示例中创建变量时,您没有分配任何数据,因此编译器无法判断该类型应该是什么。