Обработка больших квадратных объектов в React Native

Почему он трансформируется в int один раз внутри тела функции?

Это не так; это все еще ссылка на rvalue .

Когда в выражении появляется выражение, это lvalue - даже если это будет ссылка на rvalue . Он может быть преобразован в rvalue , если выражение требует, чтобы (то есть, если его значение необходимо); но он не может быть связан с ссылкой rvalue .

Итак, как вы говорите, чтобы связать его с другой ссылкой rvalue , у вас есть чтобы явно преобразовать его в неназванный rvalue . std::forward и std::move - это удобные способы сделать это.

Кроме того, почему бы не std::move?

Почему бы и нет? Это будет иметь больше смысла, чем std::forward, который предназначен для шаблонов, которые не знают, является ли аргумент ссылкой.

0
задан Jack 11 March 2019 в 14:21
поделиться