如何解决当不需要返回值时,我应该使用返回函数吗?
| 我有一个看起来像这样的函数: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ѭ为假。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。