C++ 当返回值为';不需要吗?

C++ 当返回值为';不需要吗?,c++,function,return-type,C++,Function,Return Type,我有一个函数如下所示: int Game::GetInput() { while (true) { // do stuff if (something) { // do this return 0; } else { // do other stuff } } } 我想知道,仅仅为了离开函数(返回的值在程序中除了结束函数外不会

我有一个函数如下所示:

int Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return 0;
        }

        else {
            // do other stuff
        }
    }
}

我想知道,仅仅为了离开函数(返回的值在程序中除了结束函数外不会做任何事情),使用返回函数而不是void函数是否常见或合适。这是一种好的做法,还是有更好的方法来结束函数?

只需使函数
无效
,然后简单地
返回即可

// vv void return type
void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;  // <<<< No return value
        }

        else {
            // do other stuff
        }
    }
}
//vv无效返回类型
void Game::GetInput(){
while(true){
//做事
如果(某物){
//这样做

return;//只需使函数
无效
,然后简单地
返回

// vv void return type
void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;  // <<<< No return value
        }

        else {
            // do other stuff
        }
    }
}
//vv无效返回类型
void Game::GetInput(){
while(true){
//做事
如果(某物){
//这样做

return;//您可以轻松地使用
return;
不带参数退出
void
函数。您的上述代码将变成:

void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;
        }

        else {
            // do other stuff
        }
    }
}

您可以轻松地使用
return;
而不带参数退出
void
函数。您的上述代码将变为:

void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;
        }

        else {
            // do other stuff
        }
    }
}

void函数没有问题。如果它没有返回任何有用的值,它应该是void。

void函数没有问题。如果它没有返回任何有用的值,它应该是void。

如果函数没有要返回的有用值,最好不要返回值-因为调用代码应该检查r返回的值

您的代码可以双重简化:

void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;
        }
        // do other stuff
    }
}

else
是不必要的;执行'do other stuff'的唯一方法是如果
某物
为false。

如果函数没有要返回的有用值,最好不要返回值,因为调用代码应该检查返回的值

您的代码可以双重简化:

void Game::GetInput() {
    while (true) {
        // do stuff
        if (something) {
            // do this
            return;
        }
        // do other stuff
    }
}

else
是不必要的;执行“do other stuff”的唯一方法是如果
something
为false。

@vorbis:Yes.A
void
返回类型表示没有要返回的值。@vorbis:Yes.A
void
返回类型表示没有要返回的值。