C++ で関数からポインターを返す方法

C De Guan Shukarapointawo Fansu Fang Fa



C++ では、関数は何らかの関数を実行するために導入されるコードのブロックであり、ポインターは関数内の変数を指すために使用されます。ポインタにはアドレスが割り当てられます。

C++ で関数からポインターを返す方法

C++ では、関数からポインターを返すことができます。これは、戻り値の型関数をその関数へのポインターとして宣言することで実現できます。作成されるすべての関数は、メモリ内の指定されたアドレスを取得します。アスタリスク * が関数名の左側に挿入されます。







構文

これは、C++ で関数からポインターを返すための構文です。



戻る タイプ ( * 関数ポインタ名 ) ( 引数の種類1、引数の種類2、……、引数の種類n ) = 関数名 ;

例1

この例は、C++ の関数からポインターを返す例を示しています。



#include

使用して 名前空間 標準 ;

空所 結果 ( 整数 & ある )

{

ある + = 10 ;

}

整数 主要 ( )

{

整数 バツ = 40 ;

//関数からポインタが返される

空所 ( * ポイント ) ( 整数 & ) = & 結果 ;

ポイント ( バツ ) ;

コート << バツ << 終わり ;

戻る 0 ;

}

このソース コードでは、 void result 関数が宣言されており、10 回インクリメントされる int a への参照を取得します。変数 x には値 40 が格納され、*ptr は関数 int& を指します。 ptr が結果を指しているため、x は 10 ずつ増加します。





入力 x の値は 10 ずつ増分され、50 が返されます。



例 2

これは、従業員の週給を計算する例です。

#include

使用して 名前空間 標準 ;

ダブル & GetweeklyHours ( )

{

ダブル h = 32.65 ;

ダブル & 時間 = h ;

戻る 時間 ;

}

ダブル * 給料を得る ( )

{

ダブル 給料 = 42.48 ;

ダブル * 時給 = & 給料 ;

戻る 時給 ;

}

整数 主要 ( )

{

ダブル 時間 = GetweeklyHours ( ) ;

ダブル 給料 = * 給料を得る ( ) ;

コート << 「労働者の週の労働時間: 」 << 時間 << 終わり ;

コート << 「労働者の時給:」 << 給料 << 終わり ;

ダブル 週給 = 時間 * 給料 ;

コート << 「労働者の週給:」 << 週給 << 終わり ;

戻る 0 ;

}

このソースコードでは、勤務時間と時給を入力しています。関数のメソッドからのリターン ポインターは、これらのパラメーターにアクセスし、従業員の週給を計算するために使用されます。

週の勤務時間と時給がわかれば、両方の条件を掛け合わせて週の給与を計算できます。

結論

C++ では、関数からポインターを返すことができます。これは、戻り値の型関数をその関数へのポインターとして宣言することで実現できます。作成されるすべての関数は、メモリ内の指定されたアドレスを取得します。