c 14's Decltype(auto)の汎用アプリケーションは、型控除シナリオに大きな柔軟性を提供します。最もよく知られているユースケースには、機能リターンタイプの控除を簡素化することが含まれますが、他の多くの利点を提供します。これらの汎用性の高いアプリケーションを調べましょう。ただし、汎用コードでは、リターンタイプを転送するメカニズムが不可欠です。 Decltype(Auto)は、そのタイプに関係なく、リターンタイプを完全に転送する手段を提供することにより、この問題をエレガントに解決します。 Decltype(Auto)を利用することにより、テンプレートのインスタンス化プロセスの後までリターンタイプの控除を遅らせ、再帰問題の可能性を回避できます。また、ドラフト標準に示されているように、変数を初期化するために活用することもできます。 Auto x3a = i; // Decltype(x3a)はintです Decltype(auto)x3d = i; // Decltype(x3d)はintです Auto x4a =(i); // Decltype(x4a)はintです Decltype(auto)x4d =(i); // Decltype(x4d)はint&
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3