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

时间:2018-02-08 16:21:46

标签: c++ abstraction

所以我一直在关注Udemy for C ++的一些教程,到目前为止,它的内容非常丰富且清晰,但是对于for函数如何调用另一个函数我感到有点困惑。

所以我的第一个功能是;

EDIT 我已经包含了使用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变量,这个变量本身我觉得非常奇怪,对这个过程的基本原理如何工作的一些澄清将受到高度赞赏。

1 个答案:

答案 0 :(得分:2)

你可能正在过度思考它。真的没什么好解释的。

你觉得这很奇怪吗?

string x = "hello";

你觉得这很奇怪吗?

string y = x;

然后你不应该发现这个奇怪的

string z = f();

"hello"xf()都是表达式的示例。表达式被评估以产生值。 f()是一个调用函数f的表达式。函数f的返回值是表达式的值。使用值可以执行的操作之一是将其分配给另一个变量。