Здравствуйте, Jamais Vu, Вы писали:
JV>деструкторы промежуточных результатов вызываются только после обработки =, а не после использования возвращаемого значения в следующей операции.
Правило очень простое: временные объекты разрушаются по завершении вычисления полного выражения, при вычислении которого они были созданы, в порядке, обратном порядку их создания.