ネーム・スペースは拡張可能です。
前に定義されたネーム・スペースに、後続の宣言を追加できます。
拡張部分は、オリジナルのネーム・スペース定義から分離されたファイル、
またはオリジナルのネーム・スペース定義に付加されたファイルに現れます。
次に例を示します。
namespace X { // namespace definition int a; int b; } namespace X { // namespace extension int c; int d; } namespace Y { // equivalent to namespace X int a; int b; int c; int d; }
この例では、namespace X は、a および b を使用して定義され、
後で c および d を使用して拡張されます。その結果、
namespace X は 4 つのメンバーを含むようになっています。
すべての必要なメンバーを 1 つのネーム・スペース内に宣言することもできます。
この方式は namespace Y によって表されています。このネーム・スペースには
a、b、c、および d が含まれています。