Нет никакой разницы, кроме правил определения области действия "B". Клиенты, которые используют «B», должны квалифицировать свою область с «A ::». Вложение «B» иногда может быть проблематичным, если вы хотите перенаправить ссылку на него, поскольку компиляторы C ++ обычно не позволяют вам перенаправлять ссылку на класс внутри класса (хотя это позволяет вам перенаправлять ссылку на класс в пространстве имен).