c++ - 点运算符和范围解析运算符有什么区别

标签 c++ scope-resolution

我只是想知道 .运算符和::运算符?

最佳答案

前者(点,.)用于访问对象的成员,后者(双冒号,::)用于访问命名空间的成员或一个类(class)。

考虑以下设置。

namespace ns {
    struct type
    {
        int var;
    };
}

在这种情况下,要引用作为命名空间成员的结构,您可以使用 ::。要访问类型为 type 的对象中的变量,您可以使用 .

ns::type obj;
obj.var = 1;

关于c++ - 点运算符和范围解析运算符有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2896286/

相关文章:

c++ FLTK(具有相同回调函数的更多按钮)

c++ - 有没有办法更改 MFC SDI 应用程序的标题字体?

c++ - C++中的运算符重载

c++ - 在 C++ 中使用 std 命名空间的完全限定名称

c++ - 如何调用与类成员同名的函数

c - C语言有作用域解析运算符吗?

c++ - ORA-24347 : Warning of a NULL column in an aggregate function

.net - 在 C# P/Invoke 中编码(marshal) C++ "string"类

c++ - 如何使用另一个类的重载函数运算符(operator())?

c++ - 应用范围解析运算符导致编译器阻塞