21xrx.com
2025-04-04 13:04:49 Friday
文章检索 我的文章 写文章
C++中的双冒号(::)代表什么意思?
2023-07-06 07:36:44 深夜i     55     0
C++ 双冒号 作用域解析运算符

在C++语言中,双冒号(::)是一个重要的符号,代表着许多不同的含义。它的主要作用是指定作用域,即指示一个标识符是在哪个命名空间或类中定义或被引用。

在全局命名空间中,双冒号可以用来限定全局变量或函数之间的作用域,如下代码所示:

int a = 10;      //全局变量a
void func()
  int a = 20;   //局部变量a
  ::a = 30;    //使用双冒号来访问全局变量a

在类或命名空间中,双冒号可以用来访问成员函数或静态成员变量,如下代码所示:

#include <iostream>
using namespace std;
namespace test
{
  int value = 100;
  void func()
  
    cout << "Test namespace!" << endl;
  
}
class Sample
{
public:
  static int count;
  void func()
  
    cout << "Sample class!" << endl;
  
};
int Sample::count = 0//静态成员变量的初始化
int main()
{
  test::func();    //使用命名空间中的函数
  cout << test::value << endl; //使用命名空间中的变量
  Sample::func();   //使用类中的成员函数
  Sample::count = 10//使用类中的静态成员变量
  cout << Sample::count << endl;
  return 0;
}

除此之外,双冒号还有其他用法,比如定义命名空间的别名、定义模板类中的成员函数等等。但无论在什么情况下,双冒号都是C++语言中非常重要的一个符号,需要程序员牢记并正确使用。

  
  

评论区