在函数中间使用 return 有用吗?C++

Her*_*dro 4 c c# c++ c++17

我的老师一直告诉我,不应在函数中间包含 return 语句,而没有告诉我原因。我主要指的是编程语言:C、C++和C#。

对于break语句也是如此。

以下是由于 return 语句而被视为无效的代码示例。

void Stack::Extract()
{
    if (Times == 0) 
    {
        cout << "The stack is empty, no number can be drawn" << endl;
        return;
    }

    cout << "Extracted value: " << Vet[Counter-1] << endl;
    Vet[Counter-1] = 0;
    Times--;
    Counter = Times;
}
Run Code Online (Sandbox Code Playgroud)

这是从堆栈中提取值的函数(通过数组完成),这是一个已分配给该类的简单练习。我在这里询问信息是因为如果 return 不在函数中间使用,我需要知道为什么

在本例中,我保存了临时变量的声明和 if / else 结构的串联,并在不需要时阻止执行整个函数代码。

小智 10

在函数中包含返回值会使生活变得更加轻松。

if (x == 0) return;
do other stuff..
Run Code Online (Sandbox Code Playgroud)

代码变得更具可读性。我猜你的老师在这一点上有一个奇怪的方法。我的建议:只要有必要,就遵守他的规则。然后像业内99%的人一样去做。

  • 如果老师真的花时间编写代码,他们会遵循 99% 的人使用的规则:“当你知道你已经完成时,退出该方法”。 (5认同)