我在VS C ++中看到了代码示例,例如:: function(),但我无法理解它的含义。
我理解::用于从外部类访问成员函数,但我看过我没有找到这种情况的例子。例如,在以下代码中
// For painting in memory
class MemCanvas: public Canvas
{
public:
MemCanvas (HDC hdc)
: Canvas (::CreateCompatibleDC (hdc))
{}
~MemCanvas ()
{
::DeleteDC(_hdc);
}
};
参见:: CreateCompatibleDC()函数!! 据我所知,它是在Windows.h中定义的,但是我在这里定义的方法无法猜测。
答案 0 :(得分:1)
::
指的是全局命名空间。
作为函数调用的前缀,它表示这不是成员函数,它是一个全局命名空间函数。
与Windows API函数的命名约定一起,它几乎可以识别Windows API函数。给读者。通常没有命名冲突,因此编译器不需要它:它只是一个与代码的读者进行通信的设备。