2 wddpfx wddpfx 于 2016.03.03 16:11 提问

这里为什么可以直接用作用域运算符::?

图片说明

2个回答

yedongaibi
yedongaibi   2016.03.03 18:30
已采纳

你是不是定义了一个全局的swap函数?如果要调用本类中同名的全局函数时,打上::以示区别。就跟下面的x全局变量是同一个道理
int x;
int main()
{
  int x;
  x=1;
  ::x=2;
  cout<<"局部变量x="<<x<<endl;//1
  cout<<"全局变量x="<<::x<<endl;//2
  return0;
}

WinsenJiansbomber
WinsenJiansbomber   2016.03.05 16:02

::代表当前全局的命名空间,限定访问的对象

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用类作用域操作符进行成员函数调用问题
使用类作用域操作符进行成员函数调用问题
C++中的作用域解析运算符::
::的作用非常简单,就是当局部变量和全局变量名字重叠的时候,指定某变量一定是来自全局变量。 #include using namespace std; int result = 100; int main(){ int result = 10; if(true){ int result = 1; cout << ::result; } system("pau
C++学习 c++作用域运算符用法(全局变量和局部变量)
通常情况下,如果有两个同名变量,一个是全局变量,另一个是局部变量,那么局部变量在其作用域内具有较高的优先权,它将屏蔽全局变量。 作用域运算符 代码如下: #include using namespace std; int num=10; int main() {   int num;     num=25;     cout     return 0; } 程序
C/C++作用域运算符::
::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符全局作用全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:   char ch; //全局变量   void sleep()   {   char ch; //局部变量   ch(局部变量) = ch(局部变量) *ch(局部变量) ;   ::ch(全局变量)
作用域运算符的使用
作用域运算符的使用  #include "stdafx.h" #include using namespace std; int a=5;  int _tmain(int argc, _TCHAR* argv[]) { float a=13.1f; cout cout system("pause"); return 0; }
浅谈C++作用域运算符::
C++作用域运算符::主要有2种应用方式。其一,声明一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成void A::f(),表示这个f()函数是类A的成员函数。其二,作用域可以 简单分为:全局作用域,局部作用域,语句作用域 作用域优先级:范围越小优先级越高 作用域运算符:”::” 如果希望在局部变量的作用域内使用同名的全局变量,
::作用域运算符
::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符
作用域运算符的有什么功能
作用域:变量在程序中的起作用范围;   简单分为:全局作用域、局部作用域、语句作用域;   作用域优先级: 范围越小优先级越高;   作用域运算符:“::”   如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上“::” ,“::”称为作用域运算符。
C++"::"作用域运算符
::是C++里的“作用域运算符”。 比如声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成void A::f(),表示这个f()函数是类A的成员函数。 :: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,在类内定义的时候,打此函数名默认 调用的是本身的成员函数;如果要调用同
C++12.3 类作用域(上)----需不需要加类作用域运算符 (类名: :)
简介============================================================================================================ 每个类都定义了自己的新作用域和唯一的类型。在类的定义体内声明类成员,将成员名引入类的作用域。两个不同的类具有两个不同的类作用域 即使两个类具有完全相同的成员列表,他们也是不同的类型