21xrx.com
2025-04-03 14:06:32 Thursday
文章检索 我的文章 写文章
C++ 箭头运算符(->)的用法及示例
2023-07-08 18:22:06 深夜i     19     0
C++ 箭头运算符 用法 示例

在C++编程语言中,箭头运算符(->)是一种常用的运算符,用于访问指向对象的指针所指向的成员。它与句点运算符(.)类似,但是又有所不同,下面我们来详细介绍一下箭头运算符的用法及示例。

箭头运算符的作用是访问指针所指向的对象所包含的成员变量和成员函数。若用句点运算符来替代箭头运算符操作,则需要先将指针解引用,然后再使用句点运算符进行操作。例如:

class A {
public:
  int x;
  void foo();
}
A* ptr;
(*ptr).x = 10// 用解引用和句点运算符访问指针所指向的类的成员变量
(*ptr).foo();  // 用解引用和句点运算符调用指针所指向的类的成员函数
ptr->x = 10;  // 使用箭头运算符访问指针所指向的类的成员变量
ptr->foo();   // 使用箭头运算符调用指针所指向的类的成员函数

从上面的代码中可以看出,使用箭头运算符可以省略解引用的步骤,更加简便。

在实际的程序中,箭头运算符的使用非常广泛,下面我们来看一些实际的示例。

示例一:

#include <iostream>
class A {
public:
  void foo()
    std::cout << "Hello World!" << std::endl;
  
};
int main() {
  A* ptr = new A();
  ptr->foo(); // 使用箭头运算符调用函数
  return 0;
}

在这个示例中,我们定义了一个类A,其中有一个成员函数foo,然后我们在main函数中定义了一个指向类A的指针ptr,并使用箭头运算符调用了foo函数。

示例二:

#include <iostream>
class A
public:
  int x;
;
class B {
public:
  A* ptrA;
  void foo()
    std::cout << ptrA->x << std::endl; // 使用箭头运算符访问ptrA所指向的A中的x成员
  
};
int main() {
  A a;
  a.x = 10;
  B b;
  b.ptrA = &a;
  b.foo(); // 使用箭头运算符访问b.ptrA所指向的A中的x成员
  return 0;
}

在这个示例中,我们定义了两个类A和B,其中类B中包含一个指向类A的指针ptrA。在main函数中我们创建了一个A类型的对象a,并为它的x成员赋值为10,然后创建了一个B类型的对象b,并将b.ptrA指向a对象。在B的成员函数foo中,我们使用箭头运算符访问了b.ptrA所指向的A对象中的x成员。

通过这些示例,我们可以看出,在访问指向对象的指针所指向的成员时,箭头运算符是一种方便快捷的工具,可以避免使用解引用操作,使代码更加简洁和易读。

  
  
下一篇: C++ STL算法简介

评论区

请求出错了