@msuprunenko
C/C++ DirectX

Можно ли поменять тип у Си++ с помощю (int)num?

Можно ли поменять тип у Си++ с помощю (int)num ? У меня стоит студия и определить не могу можно так или нет вообще? Знаю что у Си работает
  • Вопрос задан
  • 199 просмотров
Решения вопроса 3
AxisPod
@AxisPod
А чем не устраивает приведение типов в стиле C++, чем раньше привыкните, тем лучше.
int val = static_cast<int>(54.3f);
std::size_t addr = reinterpret_cast<std::size_t>(&val);

В данном случае больший контроль над тем, что и куда приводите.
Ответ написан
Комментировать
tlito
@tlito
drupal, c++, seo
да, приведение типов работает так cppstudio.com/post/5343
(type) val
где,

type — тип данных к которому преобразуется значение val
причем тип данных обязательно указывается в круглых скобочках.
Ответ написан
TrueBers
@TrueBers
Гуглю за еду
Забудьте Си, если пишете на плюсах! Не нужно бульдога с носорогом смешивать. Это абсолютно разные языки, пусть даже выглядят очень похоже.

Работать то оно будет, но совсем не безопасно.

Почитайте про 4 вида кастов: static_cast, const_cast, dynamic_cast и reinterpre... и используйте только их (для начала, желательно, только первый из них).

Слишком длинные и труднозапоминаемые операторы? А это сделано специально, чтобы мотивировать разработчика не использовать явные касты вообще. Си++ изначально задумывает гибкую работу с типами, предпочитая неявные преобразования и сводя к минимуму явные. Лучше лишний раз перегрузить функцию с нужным типом, и сделать проверки в реализации этой функции, чем давать пользователю возможность что-то сломать неверным кастом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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