首页 > 编程语言 >C++中双冒号::的作用浅析

C++中双冒号::的作用浅析

时间:2023-02-26 14:34:01浏览次数:37  
标签:函数 int 中双 成员 局部变量 C++ MyClass 全局变量 浅析

C++中经常使用的作用符::,作用如下:

(一)作用域限定符。

在类体内申明函数,并在类体外定义函数时,必须在定义函数时加上类名和作用域限定符。

class MyClass{ 
 public: 
  int num; 
  int fun();//类体内申明函数 
}; 
//类体外定义函数 
int MyClass::fun(){ 
 return 1; 
} 

(二)静态数据和静态成员函数成员既可以通过对象名引用,也可以通过类名加::来引用。

例如,MyClass::a。静态成员函数的目的就是为了操作静态数据成员,静态成员函数引用不了非静态的数据成员。

class MyClass{ 
 private static int a; 
}; 
//类体外引用静态成员变量 
MyClass::a; 

(三)引用在类中定义的typedef新类型

class MyClass{ 
 public typedef int INT; //此处typedef的作用:定义类型别名 
} 
MyClass ::INT b;//类体外声明一个变量 

(四)全局作用域符号

当全局变量在局部函数中与其中某个变量重名,可用::来区分。

int a;//全局变量 
void fun(){ 
 int a; //局部变量 
 a(局部变量) = a(局部变量)*a(局部变量) ; 
 ::a(全局变量) =::a(全局变量) *a(局部变量); 
}

用在函数名前就表示顶层命名空间,相当于全局变量。

标签:函数,int,中双,成员,局部变量,C++,MyClass,全局变量,浅析
From: https://www.cnblogs.com/imreW/p/17156629.html

相关文章

  • Memory leaks detection in a Windows Service written in C++
    MemoryleaksdetectioninaWindowsServicewritteninC++On January25,2020 By ArtemRazin In UncategorizedIntroductionThisarticlewilldemonstrate......
  • How to fix memory leaks in C/C++ using WinDbg
    HowtofixmemoryleaksinC/C++usingWinDbgOn May30,2021 By ArtemRazin In UncategorizedContentsIntroductionExamplesofmemoryleaksThecommon......
  • Windows 下搭建 googletest 测试框架(C/C++)
    主要分为以下几个部分环境准备源代码准备googletest与测试代码编译执行一、环境准备1.MinGW可以直接下载MinGW,x86_64-posix-sjlj下载地址也可以通过下载带编......
  • 使用ccache对C++编译加速
    使用ccache对C++编译加速我们使用cmake作为C++的编译编排系统,当修改CMakeLists.txt文件之后,就会对配置文件进行更新,再去进行make的时候,缓存就失效了,需要重新编译,当项目很......
  • C++别名的使用
    c++中的别名使用,类似引用,在别名中,“&”的意思不再是取地址,而是建立一个指针,直接指向数据。这是一个小例子:#include<iostream>usingnamespacestd;intmain(){......
  • C++ STL
    C++STLC++STL是C++自带的函数库,做题时充分利用这些函数,能节省大量时间。vector可变长数组,倍增的思想。具体来说,一个vector数组一开始长度不大,每当元素装满数组,......
  • 【C++小程序】《我要抽签》b1.0做好了~
    也许是的,得横空出世了如你所见这款基于\(C++\)能模仿Mrs.Yao抽签系统的cpp终于做完了啦~初期功能很少。\(BUG\)极多。所以为了您的体验:)请遵守格式代码:#includ......
  • C/C++停车场管理系统[2023-02-25]
    C/C++停车场管理系统[2023-02-25]选题九:停车场管理系统[问题描述]1)以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。2)每一组输入......
  • C++ 临时对象
    目录产生临时对象类型不匹配如何消除临时对象?消除循环体中的临时对象按值传递传参传返回值用operator=()消除临时对象总结参考临时对象对开发人员来说,可能是个意外情况,因......
  • C++函数名修饰规则
    C++函数名修饰规则这是啥函数的名字修饰(DecoratedName)就是编译器在编译期间创建的一个字符串。用来指明函数的定义或原型。修饰规则C++的修饰规则为“?+函数名+标......