当前位置:   article > 正文

::作用域运算符(C++中.和::和:和->的区别)_::“

::“

 ::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符

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

    :: 的另一种用法

    直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,在类内定义的时候,打此函数名默认 调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::以示区别。比如在VC里,你可以在调用API函数时,在API函数名前加::。

在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。

1、A.B则A为对象或者结构体;

2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;

4、:一般用来表示继承;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51455?site
推荐阅读
相关标签
  

闽ICP备14008679号