::没有命名空间
问题描述:
考虑下面的代码行:::没有命名空间
::CGContextRef cgContext = cocoa::createCgBitmapContext(surface);
为什么有没有::之前指定的命名空间? 这是否意味着它使用与您所在类相同的命名空间?
答
::指向全局命名空间。
答
::
没有任何名称空间的名称就意味着它之前是指全局命名空间。
::CGContextRef cgContext = cocoa::createCgBitmapContext(surface);
表示参考Global Namespace中的CGContextRef
。
答
::
in ::CGContextRef
表示全局命名空间,表示CGContextRef
在全局命名空间中定义。
int x = 10;
namespace test
{
int x = 100;
void f()
{
std::cout << x << std::endl; //prints 100
std::cout << ::x << std::endl; //prints 10
}
}
在这里看到完整的演示:http://www.ideone.com/LM8uo