ホームページ  >  記事  >  バックエンド開発  >  C++ における関数ポインターの定義と使用法

C++ における関数ポインターの定義と使用法

PHPz
PHPzオリジナル
2024-04-13 14:15:01625ブラウズ

C の関数ポインタは関数を指す変数であり、関数をパラメータとして渡すことができます。関数ポインターを使用すると、関数ポインターを定義し、関数名またはラムダ式を割り当てて、通常の関数と同様に呼び出すことができます。関数ポインタは、ソート関数演算子などの関数演算子で広く使用されており、実行時にソート関数を作成して使用できるようになります。

C++ 中函数指针的定义和用法

#C における関数ポインターの定義と使用法

#関数ポインターは、関数を指す変数です。これにより、関数を引数として渡す機能と、実行時に関数を呼び出す柔軟性が提供されます。

関数ポインタを定義する

C では、関数ポインタは次のように定義できます。

returntype (*function_ptr_name)(param_type1, param_type2, ...);

たとえば、2 つの整数パラメータを受け入れて値を返す関数へのポインタを定義します。整数:

int (*add_pointer)(int, int);

関数ポインターの初期化

関数名を割り当てることで関数ポインターを初期化できます:

add_pointer = add; // 假设 add 是一个接收两个整数并返回整数的函数

あるいは、ラムダ式を使用して次のこともできます。関数ポインターを作成します:

add_pointer = [](int a, int b) -> int { return a + b; };

関数ポインターを呼び出す

通常の関数と同じように関数ポインターを呼び出すことができます:

int result = add_pointer(10, 20);

実用的なケース: 関数デバイスのソート

関数ポインターの一般的なアプリケーションは関数コンバーターです。これにより、実行時に並べ替え関数を作成および使用できます。たとえば、次のコードは関数ポインタを使用して、比較関数を持つ std::sort を実装します。

以上がC++ における関数ポインターの定義と使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。