MFC 关于::的问题
HDChDeskDC=::GetDC(::GetDesktopWindow());CDC*pDeskDC=CDC::FromHandle(hDeskDC);请问这两句什么...
HDC hDeskDC = ::GetDC(::GetDesktopWindow());
CDC* pDeskDC = CDC::FromHandle(hDeskDC);
请问这两句什么意思,还有这里面的::代表什么意思?
c++ 展开
CDC* pDeskDC = CDC::FromHandle(hDeskDC);
请问这两句什么意思,还有这里面的::代表什么意思?
c++ 展开
1个回答
展开全部
取得桌面窗口的 HDC, 然后使用CDC类来操作.
双冒号前面为命名空间,
1. 命名空间不出现内容的话表示引用全局命名空间.
::GetDC ::GetDesktopWindow 表示调用全局的函数(该处指SDK中的全局API)
2. 命名空间有内容, 指调用某类的成员函数或变量.
CDC::FromHandle 表示调用 CDC类的 FromHandle 成员函数.
双冒号前面为命名空间,
1. 命名空间不出现内容的话表示引用全局命名空间.
::GetDC ::GetDesktopWindow 表示调用全局的函数(该处指SDK中的全局API)
2. 命名空间有内容, 指调用某类的成员函数或变量.
CDC::FromHandle 表示调用 CDC类的 FromHandle 成员函数.
追问
全局命名空间是什么意思?
追答
就理解成全局函数或者全局变量好了.
多人共同开发时, 难免会出现重名的全局变量或函数, 为了避免这个问题,可以使用不同的命名空间把这些变量区分开来。 都不使用命名空间的话, 就相当于大家都在使用同一个默认的全局命名空间.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询