什么是C ++中的箭头运算符`->`?
在C ++中,点和箭头运算符都用于访问类或结构的成员。它们仅用于不同的场景。在C ++中,声明为类,结构或联合的类型被视为“类类型”。因此,以下内容涉及这三个方面。
仅当b是对象(或对对象的引用)a的成员时,才使用ab。因此,对于ab,a始终是类的实际对象(或对对象的引用)。
a-> b本质上是(* a).b的简写形式,即,如果a是指向对象的指针,则a-> b正在访问指向该对象的对象的属性b。
请注意,点不能重载,但->可以重载,因此我们可以定义自己的函数(operator->()),使用此运算符时应调用该函数。因此,如果a是重载operator->的类的对象(常见的此类类型是智能指针和迭代器),则含义是类设计器所实现的。
从语义上来说,引用是对象的别名,因此我也应该在对象上添加“或引用指针”。但是,我认为这会比帮助更令人困惑,因为很少使用对指针(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;
}
输出结果
55
以上是 什么是C ++中的箭头运算符`->`? 的全部内容, 来源链接: utcz.com/z/316582.html