C++関数戻り値
2104 ワード
C++関数は複数のタイプを返すことができ、大きく4種類に分けることができる:1.void(戻り値なし)を返します.2.オブジェクト(組み込み型オブジェクトとカスタムオブジェクト)を返します.3.戻りポインタ(一般ポインタと関数ポインタ)4.参照を返します.はvoid(戻り値なし) を返す.
2.戻りオブジェクト(組み込み型オブジェクトとカスタムオブジェクト)
3.戻りポインタ(通常ポインタと関数ポインタ)1>通常のポインタに戻る
1>.関数ポインタを返す
4.参照を返す
ローカルオブジェクトまたは変数の参照とポインタを返さないでください.変数には役割ドメイン、ローカルオブジェクト、ローカル変数のポインタ、ローカル変数の参照役割ドメインがあるため、関数の実行が完了するとライフサイクルが終了し、戻ってくるとエラーが発生します.
void f()
{
// return;
}
2.戻りオブジェクト(組み込み型オブジェクトとカスタムオブジェクト)
int f()
{
return 1;
}
Obj f3()
{
return obj;//
}
3.戻りポインタ(通常ポインタと関数ポインタ)1>通常のポインタに戻る
int * f4(int *p)
{
return p;
}
1>.関数ポインタを返す
int Max_(int i,int j)
{
return i>=j?i:j;
}
typedef int (*PF)(int,int);// PF
PF f(int a)
{
cout<< a <<endl;
return Max_;
}
int main()
{
PF pf;
pf = fun(100);
int max=pf(5,8);
cout<<"max = "<<max <<endl;
}
4.参照を返す
int& f(int &i)
{
return i;
}
ローカルオブジェクトまたは変数の参照とポインタを返さないでください.変数には役割ドメイン、ローカルオブジェクト、ローカル変数のポインタ、ローカル変数の参照役割ドメインがあるため、関数の実行が完了するとライフサイクルが終了し、戻ってくるとエラーが発生します.