考虑以下代码行:
::CGContextRef cgContext = cocoa::createCgBitmapContext( surface );
为什么之前没有指定名称空间:: ? 这是否意味着它使用与您所在类相同的命名空间?
答案 0 :(得分:8)
::
中的 ::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
答案 1 :(得分:7)
::指的是全局命名空间。
答案 2 :(得分:3)
::
之前没有任何名称空间名称意味着它指的是 全局命名空间 。
::CGContextRef cgContext = cocoa::createCgBitmapContext( surface );
表示在全局命名空间中引用CGContextRef
。