作为标题,如何使用关键词" auto"来声明变量?在C ++中 我已经尝试过,但失败了
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
auto v;
cin >> v;
cout << v << endl;
return 0;
}
答案 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只是“使它与我分配给它的数据类型相同”。它本身不是一种数据类型。
正如您所看到的,在示例中创建变量时,您没有分配任何数据,因此编译器无法判断该类型应该是什么。