4

私はC++でライブラリを書いています。すべてのクラスとグローバル関数はmylibrary名前空間内で宣言されています。内部使用のみのクラスをいくつか作成する必要があります。このライブラリを使用する人は、ライブラリの外部で使用することを意図していないクラスをすぐに確認する必要があります。残念ながら、すべてのカプセル化が台無しになるため、プライベート関数を使用できません。内部クラスは同じライブラリ内の「通常の」クラスからアクセスする必要があるため、プライベート クラスは使用できません。

mylibrary::internalこれを行う良い方法は、名前空間を作成し、その中にすべての「プライベート」なものを入れることだと思います。これは正しい方法ですか?他の一般的な方法はありますか?

4

1 に答える 1

4

内部機能には匿名名前空間を使用します。これにより、外部コードがそれにリンクできなくなります。詳細はこちら:匿名名前空間

于 2013-03-27T15:25:10.213 に答える