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 サイトの他の関連記事を参照してください。