std::ifstream file_1(argv[1]);
std::ifstream file_2(argv[2]);
...
std::string dummy_1;
std::string dummy_2;
...
while(std::getline(file_1, dummy_1) || std::getline(file_2, dummy_2)) // the problem
{
...
}
只有当左侧的文件到达末尾(返回 FALSE)并且它不会同时评估它们时,该条件的行为就像 OR 运算符正在评估右侧的选项。
我知道语句的评估与运算符本身或它自己的优先规则无关,但是我的程序不应该像我想象的那样工作,同时评估两个语句?