怎么做是>> std::skipws >> 通过一个数组的多个索引?

How to do is >> std::skipws >> through multiple indices of an array?

假设您有 std::array<int, SIZE> a,并且您已将 a 的每个元素保存到一个文件中,一行由 space 分隔。然后您想通过 std:istream& is 阅读它们:

is >> std::skipws >> a[0] >> a[1] >> a[2] >> ... >> a[SIZE-1];

如何为 SIZE 的任何值通用地编写此代码。尽管还有其他简单的方法可以做到这一点,但我很好奇这种特定方法是如何完成的。

How to write this generically for any value of SIZE.

有一些控制结构可以将一个操作重复可变次数:loops.

例如:

is >> std::skipws;
for(auto& el : a) {
    is >> el;
}