いいえ、それはできません。特定のクラスまたは関数の名前は、友人としてのみ指定できます。グローバルな名前空間を含む名前空間を友人にすることはできません。
私は良い仕事が周りに存在しない理由は、あなたがクラスや関数を定義するとき、唯一の定義は(実際には異なる機能であるオーバーロードを、考慮しない)許可されていることだと思います。しかし、あなたはネームスペースを何回でも開くことができ、そのたびに余分なものを追加することができます。したがって、特定の名前空間にアクセスできる場合は、誰でも入力できます。
namespace TheNamesapceWithAccess
{
// I've got access to it here too as well as
// to the original namespace definition that was
// the only one that was intended to be allowed access.
// And I could define a function here that allows access the private thing
// from outside this namespace. I've just subverted the access restriction
// you intended.
}
いいえ、できません。 –
@セス:私はそれが友人を使って可能だろうとは思わなかったが、多分、同じ振る舞いを得るための回避策があるかもしれない。 – Job
あなたは 'シングルトン'の振る舞いをしたいと思うし、 'シングルトン'を作るメソッドがたくさんあります – Lol4t0