GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing cpprefjp.github.io — consteval-only型の規則をconsteval-only値の規則へ置き換え [P4101R1] - cpprefjp C++日本語リファレンス consteval-only型の規則をconsteval-only値の規則へ置き換え [P4101R1](C++29)
このページはC++29に採用された言語機能の変更を解説しています。 のちのC++規格でさらに変更される場合があるため関連項目を参照してください。
概要C++29では、C++26の静的リフレクションがリフレクションを実行時へ漏らさないために採用していた「consteval-only型」の規則が、「consteval-only値」にもとづく規則へ置き換えられる。 consteval-only型のモデルでは、
これによって、規則の対象が「実際にリフレクションを保持している値」に限定され、ユーザーから見て次のような変化がある。 また、リフレクションを保持しうるだけの型が排除されなくなるため、 この変更は、C++26のリフレクションの設計に対する修正として提案され、C++29のワーキングドラフトへ適用された。 仕様
例出力
この機能が必要になった背景・経緯consteval-only型の規則には、次のような問題が見つかっていた。
値にもとづく規則では、定数評価中の値は常に完全であるためこれらの問題がそもそも発生しない。規則もより単純になり、処理系の実装コストとコンパイル時間の両面で有利であることから、モデルごと置き換えられた。あわせて、ヌルリフレクションをconsteval-onlyとしない設計としたことで、実行時の 関連項目参照
|
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |