>
>
>
V1030. Variable is used after it is mov…


V1030. Variable is used after it is moved.

Анализатор обнаружил, что переменная используется после того, как она была перемещена.

std::string s1;
std::string s2;
....
s2 = std::move(s1);
return s1.size();

После перемещения переменная существует в неуточнённом, но валидном для вызова деструктора состоянии. Полагаться на такое состояние объектов в своих программах опасно. Исключением является ряд классов, например, 'std::unique_ptr', поведение которых указано.

Данная диагностика классифицируется как:

  • CERT-EXP63-CPP