5.3. 返り値
逆に、関数が値を返すときは以下のように実装する。
cpp
#include <iostream>
using namespace std;
int ten() {
return 10;
}
int main() {
int x = ten();
cout << x << endl;
}
[output]
10
この時、この「10」を 返り値 と呼ぶ。(10 を return する → 10 を返す)
null
返り値の型は、関数名の前で宣言している。引数の話とまとめると、関数の定義方法は次の通り。
cpp
<返り値の型> <関数名> ([引数の名前、型]) {...
返り値の型も自分で好きなように宣言できる。ただし複数の返り値を返すことはできない。
main 関数の返り値 は int 型である。他の関数の返り値はすべて呼び出した側に渡されるように、main 関数の返り値は OS に渡される。このOSに渡す値は「終了コード」と呼ばれ、正常時は 0 を返すことが定められている。
なので本来ならば main 関数にも関数末尾に return 0
を書かなければならないが(そういうテキストも多い)、それを省略しても良いという事になっている(省略すると末尾に return 0
が自動的に追加される)。
返り値の型を返さない場合は、void 型を用いる。この場合、return
文は省略できる。(書きたい場合は return;
と書く)。
cpp
#include <iostream>
using namespace std;
void hello() {
cout << "Hello!" << endl;
}
int main() {
hello();
}
引数と返り値を組み合わせることで、数学のような関数が実装できる。
cpp
#include <iostream>
using namespace std;
int square(int n) {
return n*n;
}
int main() {
cout << square(10) << endl;
}
[output]
100
この square
関数は、引数 を受け取り、 を返す関数である。