test.cppАнонимное пространство имен - имеет смысл как в заголовках, так и в кодовых файлах?
#include "test.hpp"
void f1() { }
namespace {
void f2() {}
}
namespace test {
void f3() { }
}
Пожалуйста, поправьте меня, если я ошибаюсь, но:
f1
может быть вызвана из-за пределов, если она объявлена в заголовочном файле илиextern
используетсяf2
не может быть вызван извнеf3
может быть вызван извне, если он объявлен в файле заголовка (и правильно префикс -test::
). Если он не объявлен в заголовке, его нельзя вызвать?
Я прав?
Клиент может объявить f1 и f3, даже если вы этого не сделаете ... – jiggunjer