Правильный способ приведения типов указателейC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Правильный способ приведения типов указателей

Сообщение Anonymous »

Учитывая следующий код (и тот факт, что VirtualAlloc() возвращает void*):

Код: Выделить всё

BYTE* pbNext = reinterpret_cast(
VirtualAlloc(NULL, cbAlloc, MEM_COMMIT, PAGE_READWRITE));
почему выбран reinterpret_cast вместо static_cast?

Раньше я думал что reinterpret_cast подходит, например, для приведение указателей к целочисленным типам и обратно (например, DWORD_PTR), но приведение от void* к BYTE*, разве static_cast не подходит?

Есть ли какие-либо (незначительные?) различия в этом конкретном случае, или они просто оба являются допустимыми приведениями указателей?

Есть ли стандарт C++ отдает предпочтение этому случаю, предлагая один путь вместо другого?

Подробнее здесь: https://stackoverflow.com/questions/155 ... nter-types
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»