C ++迭代for循环并在其中调用函数

C++ Iterating with for loop and calling a function within it

所以我一直在关注 Udemy for C++ 的一些教程,到目前为止,它提供了令人难以置信的信息和清晰的内容,但是我对 for 函数如何调用另一个函数感到有点困惑。

所以我的第一个函数是;

编辑 我已经包含了 use namespace std 所以是 String 而不是 std::

string getGuess()
{
    cout << "Enter your guess" << endl;
    Guess = "";
    getLine(cin,Guess);
    cout << "Your guess was: " << Guess << endl; 
    return Guess;
}

然后迭代这个函数 5 次,这样他们就可以猜到 5 次我在写

void play()
{
    constexpr int guessTimes = 5;
    for(int i = 0; i<=guessTimes ; i++)
    {
        getGuess();
    }
}

现在这一切对我来说都很有意义,但是教程的下一部分是抽象;

cout << "Your guess was: " << Guess << endl; 

然后for函数被重写为;

void play()
{
    constexpr int guessTimes = 5;
    for(int i = 0; i<=guessTimes ; i++)
    {
        string Guess = getGuess();
        cout << "Your guess was: " << Guess << endl;
        cout << endl;
    }
}

我不太明白它现在是怎样的 运行 getGuess 函数,因为它现在应用于一个新的 String 变量,我觉得它本身很奇怪,澄清一下这个过程的基本原理是受到高度赞赏。

你可能想多了。真的没什么好解释的。

你觉得奇怪吗?

string x = "hello";

你觉得奇怪吗?

string y = x;

那你应该不会觉得奇怪

string z = f();

"hello"xf() 都是表达式的例子。对表达式求值以产生值。 f() 是调用函数 f 的表达式。函数f的return值就是表达式的值。您可以对值执行的其中一项操作是将其分配给另一个变量。