7.3 返り値
7.3.1 返り値の実装
逆に、関数が値を返すときは以下のように実装する。
cpp
#include <iostream>
using namespace std;
int ten() {
return 10;
}
int main() {
int x = ten();
cout << x << endl;
}Output
10この時、この「10」を返り値と呼ぶ。(10をreturnする → 10を返す)
返り値の型は、関数名の前で宣言している。引数の話とまとめると、関数の定義方法は次の通り。
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関数は、引数を受け取り、を返す関数である。