Можно ли гарантировать исключение копирования?

Копирование - это изящный метод оптимизации, и в некоторых случаях использование копирования может быть быстрее , чем передача ссылок «вручную» .

Итак, давайте предположим, что вы определили критический путь кода, в котором вы полагаетесь на тот факт, что удаление копирования выполняется вашим компилятором для пути кода для максимальной производительности.

Но теперь вы полагаетесь на оптимизацию компилятора. .

Есть ли какой-либо (явно зависящий от компилятора) способ гарантировать, что удаление копии действительно выполняется и чтобы компилятор (или другой инструмент) генерировал предупреждение / ошибку, если удаление копии не может быть выполнено?

(I Я думаю о чем-то отдаленно похожем на Visual C ++ __ forceinline , чем выдаст предупреждение, если отмеченная таким образом функция не встроена компилятором.)

7
задан Martin Ba 26 May 2011 в 14:42
поделиться