Описание тега nrvo
C++ копирование именованных (следовательно, не временных) возвращаемых значений
(Именованный) Оптимизация возвращаемого значения является исключением из правила "как если бы", регулирующего оптимизацию, которую могут выполнять реализации C++.
Он позволяет выделить копию (названного) возвращаемого значения, если это локальная переменная или временная.
См.: copy-elision