C++のvoid関数でreturnする方法|値以外を返すテクニックを解説
void関数が「void(空)」と呼ばれるのは、何も返さないためです。しかし、「void関数は何も返せない」という説明は、必ずしも正しいとは言えません。void関数から値を返すことはできませんが、値以外のものを返したり、return文を活用したりすることは可能です。本記事では、その具体的な方法をサンプルコードとともに解説します。
void関数でもreturn文は使える
void関数は値を返すことができませんが、return文そのものを記述することは可能です。引数なしのreturn文は「この時点で関数を終了する」という意図を明示的に示す働きがあり、処理の流れが分かりやすくなるため、コードの可読性向上にも役立ちます。
サンプルコード
#include <iostream>
using namespace std;
void my_func() {
cout << "From my_function" << endl;
return;
}
int main() {
my_func();
return 0;
}実行結果
From my_function
void関数から別のvoid関数を呼び出して終了する
C++では、void関数内で「return 別のvoid関数();」という形式のreturn文を記述できます。これにより、現在の関数を終了すると同時に、別のvoid関数を呼び出すことが可能です。以下のコードを見てみましょう。
サンプルコード
#include <iostream>
using namespace std;
void another_func() {
cout << "From another_function" << endl;
return;
}
void my_func() {
cout << "From my_function" << endl;
return another_func();
}
int main() {
my_func();
return 0;
}実行結果
From my_function From another_function
この例では、my_func()が最初のメッセージを出力した後、return文によってanother_func()が呼び出され、続けて2つ目のメッセージが出力されます。
なお、この書き方が許されるのは、戻り値の型がvoidである関数をreturnする場合のみです。もし値を返す関数の呼び出し結果をvoid関数内でreturnしようとすると、コンパイルエラーとなるため注意してください。
-
Pythonで関数から何も返さない(Noneを返す)方法とは?
Python関数がNoneを返す仕組みreturn文を持たない関数は「void関数」と呼ばれ、呼び出されると自動的にNoneを返します。None以外の値を返したい場合は、関数内にreturn文を記述する必要があります。値を返すこのような関数は「実りある関数(fruitful functions)」と呼ばれます。ここで注意すべき点として、None、True、Falseといった値は文字列ではありません。これらはPythonにおける特別な値でありキーワードでもあり、言語の構文の一部として扱われます。もし関数の最後まで処理が進んだ時点で、明示的なreturn文が一度も実行されていなければ、Python
-
Python関数でvoid(None)を返す方法をわかりやすく解説
Pythonは動的型付け言語であり、関数を定義する際に戻り値の型を指定する必要がありません。そのため、関数は任意の型の値を自由に返すことができます。C言語やJavaにあるような「void型」という概念はPythonには存在しませんが、代わりにNoneという特別なオブジェクトがその役割を担っています。 戻り値を指定しない場合、自動的にNoneが返される Pythonでは、return文を書かずに関数を終了した場合、関数は暗黙的にNoneを返します。つまり、以下の2つの関数はまったく同じ動作をします。 def func_a(): print(処理を実行) # return文がな