::(作用域解释符)前什么都没有,这又是怎么回事?

as603249917 2010-07-10 10:06:28
我这里有一段代码,
来自Microsoft Visual Studio\VC98\MFC\SRC\THRDCORE.CPP


do
{
// pump message, but quit on WM_QUIT
if (!PumpMessage())
return ExitInstance();

// reset "no idle" state after pumping "normal" message
if (IsIdleMessage(&m_msgCur))
{
bIdle = TRUE;
lIdleCount = 0;
}

} while (::PeekMessage(&m_msgCur, NULL, NULL, NULL, PM_NOREMOVE));



其中while (::PeekMessage(&m_msgCur, NULL, NULL, NULL, PM_NOREMOVE));中的::PeekMessage是什么用法?



...全文
231 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
coxfilur_2008 2010-07-24
  • 打赏
  • 举报
回复
2楼正解.
greyrainbow2010 2010-07-24
  • 打赏
  • 举报
回复
新手,学习了
junliang0824 2010-07-24
  • 打赏
  • 举报
回复
::的作用,
首先是区分MFC中与API同名的函数,加上::手表示调用的是API函数。
其次,表示调用的是全局函数。
到底是哪种情况,要看自己的代码是什么意思。
xiejunhuang0714 2010-07-24
  • 打赏
  • 举报
回复
全局函数,不用指出类
xiaozhuaimiao 2010-07-23
  • 打赏
  • 举报
回复
全局作用域、调用的是API函数,与MFC同名函数相区别。

如果调用的API函数与你用到的(MFC)函数不同名,::这个符号可以省略
as603249917 2010-07-23
  • 打赏
  • 举报
回复


//有三种调用方式调用cout
#include <iostream>

using namespace std;

int main (int argc, char *argv[])
{
std::cout<<"第一种用法";

::cout <<"第二中用法";



cout << "第三种用法" << endl;
cout << "Press ENTER to continue..." << endl;
cin.get();
return 0;
}
Sou2012 2010-07-23
  • 打赏
  • 举报
回复
全局作用域(Global Scope):整个程序中的任何一条语句都可以访问这个作用域内的实体名称。只有包的名称是全局的。
疯癫小程序 2010-07-23
  • 打赏
  • 举报
回复
表示你调用的是全局函数,因为在微软的函数库里 有些全局函数和某些类的成员函数同名了,所以有的时候在这个类里调用这个同名函数,前面要加:: 以示区别,表示你调用的是全局函数,而不是成员函数,否则如果你不加:: 的话,那么你调用的最终就是 成员函数了。
Eleven 2010-07-23
  • 打赏
  • 举报
回复
::作用域标识符。。。
xjtuzhl 2010-07-23
  • 打赏
  • 举报
回复
上面的基本都说了!
我混分!
DotCpp 2010-07-10
  • 打赏
  • 举报
回复
建议楼主学习一下C++相关基础。这个是语法基础。 就是全局作用域,应该在命名空间这块会讲
hongya6088 2010-07-10
  • 打赏
  • 举报
回复
全局作用域,和MFC同名函数区分开来。
m_tornado 2010-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xianglitian 的回复:]

全局作用域啊
[/Quote]

如此~
wangguang246 2010-07-10
  • 打赏
  • 举报
回复
::PeekMessage是以非阻塞的形式传递一个消息,这个函数是Windows API函数,具有全局作用。::代表全局的意思。比如 你声明一个static int a;这个a就具有全局作用。
wltg2001 2010-07-10
  • 打赏
  • 举报
回复
其中while (::PeekMessage(&m_msgCur, NULL, NULL, NULL, PM_NOREMOVE));中的::PeekMessage是什么用法?
==========
::表示调用的函数是API,因为MFC的部分成员函数与API同名,所以前面加::以示区别
向立天 2010-07-10
  • 打赏
  • 举报
回复
全局作用域啊

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧