标签: c++ c
在我最近参加的一个(C ++)课程中,老师提到使用->运算符比使用点表示法和手动取消引用指针要慢一点(例如(*ptr))。
->
(*ptr)
答案 0 :(得分:6)
->运算符既不比.运算符慢也不快。事实上,解除引用的东西比只访问内存位置要慢,因为还有一个间接。这是生活中的事实,无论是C和C ++以及任何其他语言。
.
在C ++中,您还有引用,因此您也可以使用.取消引用某些内容!所以这里的问题不是 arrow-vs-dot ,问题是如果编译器可以直接找到一个值,或者它必须先搜索它的地址。