Я пытаюсь устранить все броски C-стиля в кодовой базе, из-за предупреждений стиля cppcheck cstyleCast.Всегда ли безопасно менять приведение в стиле C к static_cast?
Всегда ли безопасно менять листинг типа C на static_cast
?
Безопасно, я имею в виду, существует ли ситуация, когда старое приведение в стиле C будет работать нормально, но static_cast
может вызвать ошибку или неопределенное поведение?
type1 a;
type2 b = (type2)a; // C style cast
type2 b = static_cast<type2>(a); // Is this always a valid replacement for above cast?
C cast может быть 'const_cast', но в этом случае вы будете иметь ошибку времени компиляции с' static_cast'. – Jarod42