Ответ 1
Я был автором автора в chrono. Суб-пространство имен не было моим первым выбором, просто из-за многословия. Я нахожу, что пишу using namespace std::chrono
почти каждый раз, когда использую объект.
Однако это было очень спорное предложение. И многие люди, в том числе некоторые из моих соавторов, твердо чувствовали, что подпространство является подходящим. Я не стал категорически возражать против пространства под-имен, потому что нам нужно было пойти на компромисс или стать столь же мертвым, как и конгресс США.: -) Результат такой блокировки будет, вероятно, C11 timespec
.
boost экспериментировал с подпространствами имен гораздо более агрессивно, чем у std, и один из главных авторов этой статьи также является автором библиотеки с датой окончания, с которой развился хронограф. Таким образом, очевидно, что это сильно повлияло на использование пространства под-имен.
Ожидая, вполне возможно, что пространство под-имен станет абсолютно необходимым. Представьте, если мы добавим календарные услуги, которые включают сокращение за декабрь: dec
. Это будет напрямую противоречить:
ios_base& dec(ios_base& str);
в <ios>
. Так что в целом, я, вероятно, ошибался, не настаивая на подпространстве имен с самого начала.: -) В будущем нам будет интересно посмотреть, где комитет делает и не создает пространства под-имен.