【发布时间】:2019-12-03 13:27:40
【问题描述】:
我正在尝试在 C++ 中找到与 Java 的 in.hasNextInt 等效的输入,但我找到了这个。
#include <iostream>
#include <vector>
int main ()
{
std::vector<int> myvector;
int myint;
std::cout << "Please enter some integers (enter 0 to end):\n";
do {
std::cin >> myint;
myvector.push_back (myint);
} while (myint);
std::cout << "myvector stores " << int(myvector.size()) << " numbers.\n";
return 0;
}
但我真的不明白为什么当输入为 0 时输入循环会停止。它有 while(myint) 循环,这也让我感到困惑,因为 myint 是一个整数而不是布尔值。当我们为myint 输入其他内容时,它可能会用作布尔值,但我认为 0 仍然可以作为整数。谁能给我解释一下?
【问题讨论】:
标签: c++ boolean do-while implicit-conversion