21xrx.com
2025-04-14 03:27:10 Monday
文章检索 我的文章 写文章
C++中双冒号和点的区别是什么?
2023-07-05 11:51:19 深夜i     34     0
C++ 双冒号 区别

在C++中,双冒号(::)和点(.)都是用于访问类成员的符号。然而,它们在使用方式和作用上是有很大的区别的。

点符号(.)用来访问对象的成员变量和成员函数。它是以对象的形式存在的,访问的是特定对象的成员。例如,在下面的代码中,我们可以通过点符号来访问类对象c1的成员变量和成员函数:

class MyClass {
public:
 int x;
 void myFunction();
};
int main() {
 MyClass c1;
 c1.x = 10;
 c1.myFunction();
 return 0;
}

双冒号符号(::)也用于访问类成员,但它不是以对象形式存在的。它是在类的命名空间中使用的,用于访问静态成员、命名空间作用域中的成员或全局作用域中的成员。它可以用于访问未定义的类类型或访问定义在不同的命名空间中的成员。例如,在下面的代码中,我们可以通过双冒号符号来访问命名空间作用域中的成员:

#include <iostream>
using namespace std;
namespace MyNamespace
 int myInt = 0;
int main() {
 int myInt = 1;
 cout << MyNamespace::myInt << '\n';
 return 0;
}

总的来说,点符号用于访问对象的成员变量和成员函数,而双冒号符号用于访问静态成员、命名空间作用域中的成员或全局作用域中的成员。了解这两个符号的用法和区别非常重要,因为它们在C++中是访问类成员的基本语法。

  
  

评论区