我想创建数组而不知道大小,仅取决于用户输入。 诀窍是我将从用户那里获得的唯一输入是数组ex的原始数据。 1 2 3 4 5。 我的第一个想法是创建一个循环来收集数据并对它们进行计数,直到找到一些定界符为止。但是我不知道该怎么做,有可能吗? 有什么想法吗?
答案 0 :(得分:0)
一种方法是:
std::vector<int> data;
std::copy(std::istream_iterator<int>(std::cin), {},
std::back_inserter(data));
其他:
std::vector<int> data;
int x;
while (std::cin >> x) {
data.push_back(x);
}
根据要求,还有其他方法。
如果单行提供数据,则:
std::vector<int> data;
std::string line;
if (std::getline(std::cin, line)) {
std::copy(std::istream_iterator<int>(std::istringstream(line), {},
std::back_inserter(data));
}