【发布时间】:2012-12-27 12:52:33
【问题描述】:
如何在 C++ 中输入一个数组?输入 - 2 3 56. 需要存入数组 A[0]=2, A[1]=3, A[2]=56?
【问题讨论】:
-
@chris 显然没有。
如何在 C++ 中输入一个数组?输入 - 2 3 56. 需要存入数组 A[0]=2, A[1]=3, A[2]=56?
【问题讨论】:
vector<int> v;
copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(v));
或者如果你可以在构造向量的时候做到这一点,它只是一行(感谢@chris):
vector<int> v(istream_iterator<int>(cin), istream_iterator<int>());
【讨论】:
cin >> ws; if (cin.get() != EOF) { /* warn */ } 的东西。
用back_inserter的那个更容易理解:
std::vector<int> V;
int Temp;
while (cin >> Temp)
V.push_back(Temp);
请注意,我们没有使用静态分配的数组,因为您没有真正指定要读取多少个元素,在这种情况下,使用vector 通常会更好、更安全。
【讨论】:
vector
V 或 Temp 的类与变量区分开来?如果调用静态方法呢?
C 前缀作为类名。