Название довольно понятное. Я хочу преобразовать тип double *
в тип int *
. Я понимаю, что могу использовать приведение C-типа (int *)
, чтобы делать то, что хочу, но есть ли способ сделать это приведение, используя приведение типа C++, то есть static_cast
и т. д.?
Преобразование double* в int* в C++
26.10.2013
- почему ты хочешь сделать это? Вы хотите превратить double в int? 26.10.2013
- Как указывалось другим, вы не будете приводить значение таким образом. Даже если это не то, что вам нужно, ваш код может не работать из-за строгих правил алиасинга. 26.10.2013
- Другой способ сделать что-то подобное — сделать объединение с двойным и int. 26.10.2013
Ответы:
1
Вы можете выполнить это приведение, используя reinterpret_cast
:
int* veryUnsafePointer = reinterpret_cast<int*>(myDoublePointer);
Имейте в виду, что это не возвращает целочисленное представление double
, на которое указывает указатель; вместо этого значение целого числа будет зависеть от двоичного представления double
и порядка байтов системы.
Надеюсь это поможет!
26.10.2013
2
Вам нужно использовать reinterpret_cast<int *>(ptr)
.
Надеюсь, вы действительно знаете, что делаете. Очень мало причин делать такой слепок, особенно если это, вероятно, double
и int
разного размера.
26.10.2013
Новые материалы
Как симулировать серию пенальти на Python с помощью симуляции Монте-Карло, часть 1: генерация функций
Серия пенальти была огромным испытанием во время чемпионата мира по футболу. Они вызвали много споров в социальных сетях и новостных агентствах. Даже финальный матч турнира решался по..
AST для разработчиков JavaScript
TL; DR Эта статья - мое выступление на недавно состоявшейся конференции Stockholm ReactJS Meetup. Вы можете посмотреть слайды здесь..
5 проектов на Python, которые нужно создать прямо сейчас!
Добро пожаловать! Python — один из моих любимых языков программирования. Если вы новичок в этом языке, перейдите по ссылке ниже, чтобы узнать о нем больше:
Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии?
О применении ИИ в..
«Очень простой» эволюционный подход к обучению с подкреплением
В прошлом семестре я посетил лекцию по обучению с подкреплением (RL) в моем университете. Честно говоря, я присоединился к нему официально, но я редко ходил на лекции, потому что в целом я нахожу..
Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
Глава 1. Поиск по ключевым словам: основы информационного поиска
Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..
Фишинг — Упаковано и зашифровано
Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..
double
. Знаете ли вы, чтоdouble
, скорее всего, больше, чемint
? (В большинстве систем 8 против 4 байт) 26.10.2013