Avertissement C26479
N’utilisez pas std ::move pour retourner une variable locale. (f.48)
Notes
L’instruction return
est la dernière utilisation d’une variable locale, de sorte que le compilateur utilise la sémantique de déplacement pour le retourner dans la mesure du possible.
L’ajout d’un std::move
élément est redondant dans ce scénario. De plus, les éléments redondants std::move
peuvent empêcher l’élision de copie.
Nom de l’analyse du code : NO_MOVE_RET_ON_LOCALS
Exemple 1
S foo()
{
S local1{};
return std::move(local1); // Warning: C26479
}
Pour résoudre ce problème, supprimez le redondant std::move
:
S foo()
{
S local1{};
return local1; // No warning
}
Voir aussi
F.48 - Ne retournez std::move(local)
pas ES.56 - Écrire std::move()
uniquement lorsque vous devez déplacer explicitement un objet vers une autre étendue
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour