헤더 파일의 네임 스페이스에 포함 된 인라인 함수가 있으며 현재이 파일을 cpp 파일로 옮길 수 없습니다. 이러한 인라인 기능 중 일부는 예를 들어, 마법 상수를 사용인라인 네임 스페이스 헤더의 전용 상수 숨기기
// Foo.h
namespace Foo
{
const int BAR = 1234;
inline void someFunc()
{
// Do something with BAR
}
}
그러나, 나는이 마법 상수를 비공개 할 - 모든 아이디어를 어떻게?
// Foo.h
namespace Foo
{
namespace
{
// 'private' constants here
const int BAR = 1234;
}
inline void someFunc()
{
// Do something with BAR
}
}
그러나,이 작동하지 않고 Foo::BAR
이 Foo.h
가 포함되어있는 CPP 파일에 사용할 수있는 나의 첫번째 생각은 따라서 익명의 네임 스페이스를 사용했다? 구현 cpp 파일을 만들지 않고이 작업을 수행 할 수있는 방법이 있습니까?
이것은 또한 대회 부스트 사용법입니다. 어쨌든 대부분의 경우 수행하지 않을 단순한 "세부 네임 스페이스 입력 안 함"이라고 모두 알려주는 한 잘 작동합니다. – GManNickG