首页 >后端开发 >C++ >在 C 中什么时候应该使用 `(*a).b` 而不是 `a->b` ?

在 C 中什么时候应该使用 `(*a).b` 而不是 `a->b` ?

Susan Sarandon
Susan Sarandon原创
2024-11-29 22:00:14377浏览

When Should You Use `(*a).b` Instead of `a->C 中的 b` ?
“/>b` 在 C 中?

使用 *a.b 而不是箭头运算符

在 C 中,箭头运算符 (->) 通常用于从以下位置访问类的成员指向该类的对象的指针但是,重要的是要知道有一种替代语法可以完成相同的任务。

等价

箭头运算符 (->) 与表达式 (*a).b 同义,其中 a 是指向对象的指针这意味着以下两个表达式是等效的:

a->b;
(*a).b;

优点*a.b

虽然箭头运算符是一种方便的简写,但使用 *a.b:

  • 清晰度: 表达式 (* a).b 明确表明它正在对指针进行操作,这对于可能不会立即使用指针的代码来说非常有用。
  • 运算符重载: 可以为用户定义类型重载点运算符 (.),从而在访问成员时允许自定义行为,但是,箭头运算符 (->) 不能。会被重载,因此不支持自定义成员访问操作。

何时使用箭头运算符

尽管 *a.b 具有潜在优势,但由于其简洁性和可读性,箭头运算符通常更适合从指针访问类的成员。然而,在某些需要清晰度或可扩展性的情况下,使用 *a.b 可能是更合适的选择。

以上是在 C 中什么时候应该使用 `(*a).b` 而不是 `a->b` ?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn