2 CppCon Gabriel Dos ReisのモジュールTSに関する話題。C++ 20?モジュール - 秘密のエクスポートなし
私が覚えているように、彼はプライベートメンバー/関数をエクスポートしたくないので、他のモジュールはそれらをまったく使用できません。
私は彼の立場を理解していますが、将来のC++のリフレクションと衝突しませんか?たとえば、C++にすべてのクラス関数を列挙できるリフレクションがある場合、プライベート関数も列挙できませんか?
私が知っている、プライベートな機能へのアクセスは悪いですが、稀な極端な場合には(const_castを書き込みを開発者が、それはひどいと感じなければならないという事実にもかかわらず、時々必要であるか)が必要です
編集:
クラスが "非仮想インターフェイス"パターンを使用する場合、少なくとも1つの "非公開の公開"の例外があります
これが可能であれば、これはカプセル化を強制するかもしれません。さらに、C++の哲学は「あなたが使っているものだけを支払う」ため、モジュールに反映を期待して情報を保存させることは慣用的ではないかもしれません。プライベート関数を削除しようとする最適化はどうですか?もし彼らがプライベートであることを意図されている場合、彼らはさらされるべきですか? – VermillionAzure
ランタイムについて「見ているものだけを支払う」ではありませんか?コンパイル時C++は現在、反対の考え方を使用しています:) – Alek86
残念ながら、私はコンパイル時についてはあまり知らないでしょう。 – VermillionAzure