封装v性能

Ale*_*rty 3 c++ performance encapsulation

简单的问题:

我真的很喜欢封装的想法,但我真的不知道它是否值得它是一个性能危急的情况.

例如:

x->var;
Run Code Online (Sandbox Code Playgroud)

比...更快

x->getVar();
Run Code Online (Sandbox Code Playgroud)

因为函数调用开销.有没有快速和封装的解决方案?

Chu*_*dad 7

所有可能的getVar()都可以内联.即使存在性能损失,封装的好处远远超过性能考虑因素.


sbi*_*sbi 5

没有开销,如果内联函数.

另一方面,吸气剂通常是代码味道.而且一个糟糕的.他们坚持封装的字母,但违反了其原则.