Share via


Advertencia C26479

No use std::move para devolver una variable local. (f.48)

Comentarios

La return instrucción es el último uso de una variable local, por lo que el compilador usa la semántica de movimiento para devolverla siempre que sea posible. Agregar un elemento std::move es redundante en este escenario. Además, los s redundantes std::movepueden impedir la elisión de copia.

Nombre del análisis de código: NO_MOVE_RET_ON_LOCALS

Ejemplo 1

S foo()
{
    S local1{};
    return std::move(local1); // Warning: C26479
}

Para corregir este problema, quite el elemento redundante std::move:

S foo()
{
    S local1{};
    return local1; // No warning
}

Consulte también

F.48: No devolver std::move(local)ES.56: escribir std::move() solo cuando necesite mover explícitamente un objeto a otro ámbito