该程序将在使用
input.size() - 1
作为for循环条件时打印“进入循环”。std::string input;
input = {""};
int i = 0;
for (; i < input.size() - 1; ++i)
{
cout << "Entered the loop" << endl;
}
然而,如果我将input.size() -1
的值传递给一个整数(checksize
):
std::string input;
input = {""};
int checksize = input.size() - 1;
int i = 0;
for (; i < checksize; ++i)
{
cout << "Entered the loop" << endl;
}
如果程序不进入循环,则不会打印“已进入循环”的信息。
我在想为什么会这样?对我来说,这两段代码看起来是相同的。