Re[6]: Безопасно ли присваивать один указатель другому?..
От: AlexGin Беларусь  
Дата: 26.03.18 15:03
Оценка:
Здравствуйте, night beast, Вы писали:

NB>Здравствуйте, AlexGin, Вы писали:


SaZ>>>Честно прочитал все ссылки. Что-либо по моему вопросу будет?

AG>>Вроде выше, в моём ответе, было именно по твоему вопросу (по поводу void*).

SaZ>>>Интересует, например, чему должен быть равен sizeof указателя на метод?

AG>>
AG>>sizeof указателя на метод — такой же, как sizeof(int*);
AG>>В общем — sizeof такой же, как у всех других указателей в приложениях данной архитектуры (то есть 4 байта для x86; 8 байт для x64).

NB>это не так.

Я здесь привёл примеры для MSVC2015 — всё вполне логично (размеры указателей одинаковы).
Здесь у меня под рукой нет другой студии (дома проверю под MSVC2008, но более древних не найду).

NB>как минимум на старых студиях под 32 бита этот размер был 8.

NB>с указателем на обычную функцию тоже никаких гарантий не было что можно безопасно к void* кастить.

Где хоть какое-то объяснение данному феномену?

Указатель — это адрес в памяти.
Как он может иметь разные размерности в одном и том же процессе?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.