Согласно стандарту C ++, могу ли я быть уверен, что операторы присваивания для встроенных переменных возвращают (исходное значение)?
Редактировать Думаю, я понял. Да: вы можете быть уверены, что встроенные типы возвращают исходное значение по ссылке после operator=, *=, /=, -=, +=, ^=, ~=, &= and |=
.
«Для построения переменных» немного загадочно для меня. Тем не менее,
X makeX()
{
return X();
} // must have accessible copy constructor
// ...
X x;
x = makeX(); // ... _and_ assignment operator
Или это зависит от реализации
Должно не быть ( редактировать см. Стандартную справку от UncleBens )