Каково различие между static_cast <> и кастингом стиля C?

Возможно, необходимо использовать команды оболочки. В Unix/Linux найдите переданными по каналу с видом, вероятно, будет в состоянии сделать то, что Вы хотите.

188
задан Ajay 3 July 2015 в 01:38
поделиться

3 ответа

C++ style casts are checked by the compiler. C style casts aren't and can fail at runtime

also, c++ style casts can be searched for easily, whereas it's really hard to search for c style casts

Another big benefit is that the 4 different C++ style casts express the intent of the programmer more clearly.

When writing C++ I'd pretty much always use the C++ ones over the the C style.

202
ответ дан 23 November 2019 в 05:43
поделиться

См. Сравнение операторов приведения типов C ++ .

Однако использование одного и того же синтаксиса для множества различных операций приведения может сделать намерения программиста неясными.

Кроме того, может быть трудно найти конкретный тип преобразования в большой кодовой базе.

универсальность преобразования в стиле C может быть излишней для ситуаций, когда все, что требуется, - это простое преобразование. Возможность выбора между несколькими операторами приведения с разной степенью мощности может предотвратить непреднамеренное приведение программистами к неверному типу.

15
ответ дан 23 November 2019 в 05:43
поделиться

Поскольку там есть много разных видов приведения, каждый с разной семантикой, static_cast <> позволяет вам сказать: «Я выполняю законное преобразование из одного типа в другой», например, из int в double. Простой слепок в стиле C может означать многое. Вы качаетесь вверх / вниз? Вы переосмысливаете указатель?

3
ответ дан 23 November 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: