验证设置器中的值是否不同是否有意义

Die*_*les 3 c++ performance

我记得我在某个地方(可能是在Github)看到了这样一个例子:

void MyClass::setValue(int newValue)
{
    if (value != newValue) {
        value = newValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

对我而言,它没有多大意义,但我想知道它是否会带来任何性能提升.

For*_*veR 7

它没有任何意义scalar types,但它可能对某些user-defined类型有意义(因为类型可能真的"大"或其赋值运算符可以做一些"硬"工作).