メタプログラミング

2021年6月19日

このページでは、メタプログラミングのような機能を提供するライブラリコンポーネントについて説明します。ほとんどの場合、これらは契約によるデザインチェックをコードに入れたり、テンプレートを使ってさまざまな種類の賢いことをするのに役立ちます。

たとえば、T型をテンプレートとするテンプレート関数があり、Tがchar型またはwchar_t型のどちらかであることを確認したいとします。あなたはあなたのコードに以下を入れることができます、そしてそれはTがcharかwchar_t以外の何かに設定されたときコンパイルエラーを引き起こすでしょう。 
COMPILE_TIME_ASSERT((is_same_type <T、char> :: value || is_same_type <T、wchar_t> :: value));

オブジェクト

グローバル関数

その他

Posted by kinya