什么是C ++中的点运算符?

在C ++中,点和箭头运算符都用于访问类的成员。它们仅用于不同的场景。在C ++中,声明为类,结构或联合的类型被视为“类类型”。因此以下内容将它们都引用。

  • 仅当b是对象的成员(或对象的reference [1])时,才使用ab。因此,对于ab,a始终是类的实际对象(或对对象的引用)。

  • a→b本质上是(* a).b的简写符号,即,如果a是指向对象的指针,则→b正在访问指向该对象的属性b。

注意 。不可重载。→是可重载的运算符,因此我们可以定义我们自己的函数(运算符→()),使用该运算符时应调用该函数。因此,如果a是重载operator→的类的对象(常见的此类类型是智能指针和迭代器),则含义是类设计器实现的含义。


[1]引用在语义上是对象的别名,因此我也应该在#3处添加“或引用指针”。但是,我认为这将比有用的方法更加令人困惑,因为很少使用对指针(T *&)的引用。

示例

#include<iostream>

class A {

   public: int b;

   A() { b = 5; }

};

int main() {

   A a = A();

   A* x = &a;

   std::cout << "a.b = " << a.b << "\n";

   std::cout << "x->b = " << x->b << "\n";

   return 0;

}

输出结果

这将给出输出-

5

5

以上是 什么是C ++中的点运算符? 的全部内容, 来源链接: utcz.com/z/352521.html

回到顶部