Можно ли отключить RVO (оптимизацию возвращаемого значения) в Visual Studio 2010?Установка флага оптимизации на /Od (отключает все оптимизации) не помогает.В g ++ существует флаг -fno-elide-constructors, который отключает RVO.
/Od
-fno-elide-constructors
Вы не можете. Это так просто. RVO / NRVO является стандартным, и ваш код не должен зависеть от его отсутствия.
Попробуйте определить вашу переменную как volatile, возможно, решит вашу проблему. Если это не так, вы должны отправить код прибытия ...
volatile
Нет причин отключать эту оптимизацию!Чего ты пытаешься достичь?Это помогает отлаживать сборки быстрее, без каких-либо побочных эффектов.Это также гарантирует, что код, зависящий от RVO или NRVO, работает одинаково при отладке и выпуске.