メタプログラミング: 関数定義の代替テンプレート選択基準
この質問では、型の変換能力に基づいてテンプレートを定義する概念について説明します。文字列に。元のコードでは is_arithmetic 型特性を使用していますが、代わりに、その型に対して to_string が定義されているかどうかを評価する基準を使用することが提案されています。
ただし、この基準の逆、to_string がいつ定義されていないかを判断すると、次のことがわかります。挑戦的。次のコードは失敗します。
これに対処するために、回答では、Walter Brown の void_t 型特性を使用することを提案しています。これにより、次のものの作成が可能になります。
この型特性は効果的に評価します。 to_string が特定の型に対して定義されているかどうかを判断することで、元の意図により正確に一致する代替テンプレート選択基準を提供します。
以上がメタプログラミングは文字列変換に基づいたテンプレートの定義に役立ちますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。