范围解析和此运算符

Mar*_*son 4 c c++

在我最近采用的(C++)课程中,老师提到使用->操作符比使用点符号和手动取消引用指针(例如(*ptr))要慢一点.

  1. 这是真的,如果是这样,为什么?
  2. 这也适用于C吗?

Pao*_*o M 6

->运营商既不是慢还是快于.运营商.事实上,取消引用某些东西比访问内存位置要慢,因为还有一个间接.这是生活中的事实,无论是在C和C++以及任何其他语言中.

在C++中,你也有引用,所以你也可以使用它来取消引用.!所以这里的问题不是arrow-vs-dot,问题是如果编译器可以直接找到一个值,或者它之前必须搜索它的地址.