gpt4 book ai didi

c++ - 与::函数语句混淆

转载 作者:行者123 更新时间:2023-11-28 07:04:23 26 4
gpt4 key购买 nike

我在 VS C++ 中看到了代码示例,例如::function() 但我无法理解它的含义。

我知道::用于从类外部访问成员函数,但我看过示例,但我没有找到这种情况。例如在下面的代码中

// For painting in memory
class MemCanvas: public Canvas
{
public:
MemCanvas (HDC hdc)
: Canvas (::CreateCompatibleDC (hdc))
{}

~MemCanvas ()
{
::DeleteDC(_hdc);
}
};

参见::CreateCompatibleDC() 函数!!我知道它是在 Windows.h 中定义的,但我无法猜测它是如何在这里定义的。

最佳答案

:: 指的是全局命名空间。

作为函数调用的前缀,它表示这不是一个成员函数,它是一个全局命名空间函数。

连同 Windows API 函数的命名约定,它几乎可以识别 Windows API 函数本身。给读者。通常没有命名冲突,因此编译器没有必要:它只是一种与代码读者进行通信的设备。

关于c++ - 与::函数语句混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21979428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com