ホームページ  >  記事  >  バックエンド開発  >  C の可変長引数テンプレート クラス内の関数ポインターから引数の型にアクセスするにはどうすればよいですか?

C の可変長引数テンプレート クラス内の関数ポインターから引数の型にアクセスするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-07 08:21:03575ブラウズ

How can I access argument types from a function pointer within a variadic template class in C  ?

関数ポインターの可変引数テンプレート クラスの引数型へのアクセス

任意の引数リストを持つ関数のジェネリック ファンクターを作成するために、開発者はクラス内の関数ポインタの引数の型を抽出しようとします。 constructor.

次のファンクター クラスについて考えてみましょう:

コンストラクター内の引数の型にアクセスするために、開発者は Stroustrup によって概説されているように、引数リストを再帰的に「剥がす」手法を使用します。彼の C 11 FAQ で。ただし、引数の型は関数ポインター f からは簡単にアクセスできません。

function_traits クラスを使用することにより、関数ポインターに関連付けられた引数の型、戻り値の型、および引数の数を検出することが可能になります。

この function_traits クラスを利用して、開発者はファンクター クラス内の引数の型を取得できるようになりました。コンストラクター:

以上がC の可変長引数テンプレート クラス内の関数ポインターから引数の型にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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