vc++中"=::"是什么意思?

例如:1、m_hThread = ::GetCurrentThread();
m_nThreadID = ::GetCurrentThreadId();
2、CWinApp::CWinApp(LPCTSTR lpszAppName)
{
if (lpszAppName != NULL)
m_pszAppName = _tcsdup(lpszAppName);
else
m_pszAppName = NULL;
.
.
.
}都是什么意思?

VC++中的=::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符。他们都是左关联(left-associativity)。他们的作用都是为了更明确的调用自己的对象或者函数。
1、全局作用
全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:
  char zhou; //全局变量
  void sleep()
  {
  char zhou; //局部变量
  zhou(局部变量) = zhou(局部变量) *zhou(局部变量) ;
  ::zhou(全局变量) =::zhou(全局变量) *zhou(局部变量);
  }
2、类作用
作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为了避免不同的类有名称相同的成员而采用作用域的方式进行区分
  如:A,B表示两个类,在A,B中都有成员member。那么
  A::member就表示类A中的成员member
  B::member就表示类B中的成员member
3、命名空间
"::"是作用域限定符或者称作作用域运算符或者作用域操作符(scope operator).例如命名空间
"::"作用:namespace::name
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07

"=::" 这是两个操作符,不是一个。

其中=等号是赋值操作符,:: 双冒号是作用域运算符。

在你的代码中,

m_hThread = ::GetCurrentThread();

这是将全局函数GetCurrentThread的返值传递给m_hThread变量。

:: 双冒号,是C++的作用域运算符(注意,标准C没有这个运算符),它的左操作数是类名,右操作数是类的成员,当左操作数为空时,就是调用全局作用域函数,在windows下,通常为API函数。使用作用域运算符可以访问当前作用域外部的标识符。

第2个回答  推荐于2017-10-10
::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。
:: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,考试,大提示在类内定义的时候,打此函数名默认调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::以示区别。比如在VC里,你可以在调用API函数时,在API函数名前加::。本回答被提问者采纳
第3个回答  2009-09-03
1、m_hThread = ::GetCurrentThread();//表示调用的是全局函数
m_nThreadID = ::GetCurrentThreadId();//同上
2、CWinApp::CWinApp(LPCTSTR lpszAppName)//访问类中的成员,在此为构造函数
第4个回答  2020-01-17

vc++中"=::"是什么意思?
VC++中的=::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符。他们都是左关联(left-associativity)。他们的作用都是为了更明确的调用自己的对象或者函数。1、全局作用 全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:char zhou...

vc++中"=::"是什么意思
"="和等于不是一个意思,在vc++中“=”是赋值给,比如a=b,就把b的值给了a了,并且b不变;相当于复制值给了a,vc++中等于是“==”,在判断语句中,比如if(a==b),就是如果a等于b,才执行if下面的语句,否则就跳过。至于“::”加在等于后面我学了那么久也没用过。可以不做考虑。

vc++中"=::"是什么意思
::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。:: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外...

vc++中"=::"是什么意思
这是两个东西吧,=是赋值,::表示使用默认命名空间中的变量

vc++中的符号::和->各表示什么意思,请详细点。谢谢。
::是用来选择作用域的,例如如果要特别说明一个变量或者函数的所处在的位置,就可以用他,例如要调用全局函数a,而在调用这个a的那个类里面也包含一个函数叫做a,那么想要调用全局的那个a,就要要用::a();这样。还有就是在定义一个类的成员函数的时候,需要写类名::函数名。->是用来取一个结构体...

vs2010 vc++目录 中的"$"是什么意思?
以VC++目录为例,右下角可以看到一个按钮“宏”,点开来可以看到这些宏对应的路径 比如解决方案目录在c盘aaa文件夹下,那么$(SolutionDir)代表c:\\aaa\\ ,$(SolutionDir)bbb就可以很方便地表达c:\\aaa\\bbb这个文件夹 这些宏是没法修改的

vc++中的mfc编程中“::”这个符号表示什么意思呢?
这是作用域运算符。 vc++实现的是c++编译器,在c++中用类封装抽象编程对象。 比如 class test{ public:static void print(){ printf("hello world\\n");};其中函数print是test类的成员函数,它在test的花括号内,即在test类的作用域内。我们可以 test::print() \/\/调用这个函数。在c++中要调用...

VC++里面::和->的区别是什么
::是表示域,->表示指针对象 比如 class A { static int i;} 可以用A::i来取得其成员变量i 如果定义A的指针对象A *a = new A;那么则可以用a->i来取i

vc++中'::'的用法是什么?好多地方都用,具体有什么区别?
总的来说,::代表作用域。具体说,这些作用域可以是全局(::前面空着),可以是名字空间(::前面是名字空间,比如std),可以是类(结构体)。

谁知道c++什么时候可以使用::符号 谁帮忙总结下。 另外什么时候用...
:: 在需要指明要访问的对象属于谁时需要用到,可分如下几种情况:(1)在类定义以外定义成员函数时,如 int A::get_n(){ \/\/...(2)为类中的静态数据成员初始化时,如 int A::n=0;(3)访问某类中的成员时,如 A::n++;(4)访问某名空间的标识符时,如 std::cout <<x;(5)访问全局名...

相似回答