Я использую C++ с 1992 года (и много читал об этом языке), так что знаю об этом языке довольно много, но далеко не все. Мой вопрос касается оптимизации именованного возвращаемого значения С++ 11 - какие гарантии, что она будет выполнена? Я предпочитаю отправлять неконстантные параметры (стиль C++97) или использовать shared_ptr (стиль C++11) или даже использовать ptr-to-ptr (стиль C). Одна из причин заключается в том, что с неконстантными аргументами ref или shared_ptr мне гарантируется, что НИКАКИХ дополнительных копий объекта не будет.
Итак, мой вопрос (особенно для тех программистов на C++, которые занимаются тяжелой работой в реальном времени или ядром): какие идиомы вы предпочитаете? Я ДЕЙСТВИТЕЛЬНО надеюсь, что этот вопрос не будет отвергнут как неточный, основанный на мнениях или просто глупый - я знаю, что он очень важен для эффективного современного программирования на С++.