参考或指针更快吗?

use*_*783 7 c++ performance pointers reference

据我所知,引用只是变量的另一个名称,而指针是它们自己的变量.指针占用空间.人们经常说"使用引用或指针",但他们并没有说哪个更好.如果引用不占用自己的记忆,则引用在该部门中获胜.我不知道的是编译器是否区分了引用和普通变量.如果对引用执行操作,它是否编译为与普通变量相同的代码?

rav*_*avi 3

内部引用也是通过指针来实现的。因此,很难说指针/引用哪个更快。

这是这两者的用法,造成了差异。

例如,您想通过引用将参数传递给函数。

void func(int& a)    case_1
{
  //No need to check for NULL reference...
}
void func(int* a)    case_2
{
  //Need o check if pointer is not NULL
}
Run Code Online (Sandbox Code Playgroud)

在 case_2 中,您必须在取消引用指针之前显式检查指针是否不为 NULL,而引用则不然,因为引用被初始化为某些内容。

假设你正在以文明的方式玩游戏,即

你没有做类似的事情:-

int*p = NULL;
int &a = *p;
Run Code Online (Sandbox Code Playgroud)