使用this->访问会员是否有任何开销?

Tom*_*Tom 10 c++ performance this

当访问某个类的成员时,我可以使用例如:

this->myVar = 10 
Run Code Online (Sandbox Code Playgroud)

或者我可以写:

myVar = 10
Run Code Online (Sandbox Code Playgroud)

我喜欢使用this->它,因为它显式声明变量是这个类的成员,但与仅仅使用变量名相比,它是否会导致任何开销?

作为替代方案,我可以为变量添加一个唯一的前缀,例如_TmyVar,但我已经使用this->了很长时间,所以我只是想知道.

fra*_*ast 37

没有开销.编译器将为两个版本生成完全相同的代码.


Jam*_*lis 11

这两行代码具有相同的含义.的this->是在第二行隐式的.他们完全一样.

因此,他们的表现完全相同:-)


asc*_*ler 8

意义没有区别(除非有多个名称myVar可见,在这种情况下,普通版本可能意味着函数局部变量,而this->myVar意味着成员).所以是的,这只是风格问题.