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 演算子が右側のオプションを評価するように動作します。
ステートメントの評価は、演算子自体や独自の優先順位規則とは何の関係もないことを知っていますが、私のプログラムは、両方のステートメントが同時に評価されていることをイメージしているようには機能しないはずです?