Monday, August 29, 2016

Namespace without a name in C++











I came across this code



namespace ABC {
namespace DEF {


namespace
{


I expected the namespace should be followed by some name, but it's not the case with this code.



Is this allowed in C++? What's the advantage for this unnamed namespace?


Answer



It's called an unnamed namespace / anonymous namespace. It's use is to make functions/objects/etc accessible only within that file. It's almost the same as static in C.



No comments:

Post a Comment