Я давно использовал ключевое слово static
для определения внутренней связи.Позже я переключился на стиль C ++, заключающий в себе локальные вещи в анонимных пространствах имен.
Однако теперь, когда я несколько лет работал с анонимными пространствами имен, я начинаю думать, что ключевое слово static
намного прощеработать с!
Распространенная проблема заключается в том, что у меня есть такой шаблон:
namespace {
// ...five pages of code...
} // namespace
Чтобы увидеть, имеет ли определенная функция внутреннюю или внешнюю связь, мне нужно много прокручивать, в отличиек старому стилю C, где я мог просто проверить, было ли перед функцией / объектом static
.
Я знаю, что есть вещи, которые анонимные пространства имен делают, которые static
не может - скрыть typedefs - нолично меня это не особо интересует, во всяком случае.
Что вы думаете об этом?Является ли победа анонимных пространств имен настолько большой, что она гарантирует снижение читабельности?Или я не прав?