当不需要返回值时,我应该使用返回函数吗?

| 我有一个看起来像这样的函数:
int Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return 0;
        }

        else {
            // do other stuff
        }
    }
}
我想知道是否有返回函数而不是void函数是常见还是适当的,其唯一目的是离开该函数(返回的值在程序中除了结束该函数之外不会做任何事情) )。这是好的做法,还是有更好的方法来结束功能?     
已邀请:
只需将函数
void
,简单地将simply2ѭ?
// vv void return type
void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;  // <<<< No return value
        }

        else {
            // do other stuff
        }
    }
}
    
无效函数没有问题。如果它没有返回任何有用的信息,则应为空。     
您可以轻松地使用不带参数的
return;
退出
void
函数。您上面的代码将变为:
void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;
        }

        else {
            // do other stuff
        }
    }
}
    
如果没有有用的值可返回,则最好不要返回值-因为调用代码应检查返回的值。 您的代码可以双重简化:
void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;
        }
        // do other stuff
    }
}
else
是不必要的;执行“做其他事情”的唯一方法是if9ѭ为假。     

要回复问题请先登录注册