170 похожих чатов

Вопрос: почему размер указателя на член-данные, к примеру, может быть

меньше обычного?

40 ответов

4 просмотра

бо он может хранить только оффсет внутри класса

Liber-Azerate Автор вопроса

Потому что компилятор msvc

Liber-Azerate Автор вопроса
Kirill Bolshakov
Потому что компилятор msvc

Ну, ответ верный, мне интересно более конкретно

Kirill Bolshakov
Потому что компилятор msvc

На каких компиляторах указатель на член больше 8 байт?

Ну, это же член...

Liber Azerate
Ну, ответ верный, мне интересно более конкретно

А что конкретного? Число оно и 4 байта число-смещение

Liber-Azerate Автор вопроса
Kirill Bolshakov
А что конкретного? Число оно и 4 байта число-смеще...

Ну надо же оффсет относительно чего указать

Liber-Azerate Автор вопроса
Kirill Bolshakov
Относительно начала объекта

А это не абсолютный адрес получается?

Liber Azerate
А это не абсолютный адрес получается?

Нет, это вообщето отображение (читай фукнция)

Давай будем зрить в корень: Указатель на данные-члены — это не указатель. Почему ты хочешь вообще соотносить размеры , занимаемые этими типами?

там смещение this хранится, помимо указателя

Liber-Azerate Автор вопроса
Ilya Zviagin
Давай будем зрить в корень: Указатель на данные-ч...

Да у нас просто небольшой спор насчёт размеров указателей был :)

Liber Azerate
Да у нас просто небольшой спор насчёт размеров ука...

Классно спорить о размерах указателей и как аргумент приводить размер НЕ УКАЗАТЕЛЯ, да?

Liber-Azerate Автор вопроса
Ilya Zviagin
Классно спорить о размерах указателей и как аргум...

Ну это мне привели, ну и в целом это же таки указатель. Смещение – тоже адрес, нет?

Liber-Azerate Автор вопроса
Liber Azerate
А что это?

Указатель на член

Liber Azerate
Да

Ну вот смещение это вектор, а указатель это точка. Это разные сущности по природе

Liber Azerate
А что это?

Ты можешь с помощью указателя получить данные, на которые он указывает?

Liber-Azerate Автор вопроса
Liber-Azerate Автор вопроса
Ilya Zviagin
Не можешь.

#include <iostream> struct S { int x; }; int main(int argc, char *argv[]) { S s{ 1 }; auto p = &S::x; std::cout << s.*p; } ?

Liber Azerate
#include <iostream> struct S { int x; }; int m...

s.*p это base + rva, имея только p ничего получить нельзя

Liber-Azerate Автор вопроса
Ilya Zviagin
Ну, из s.*p; убери s -то!

Ну, я это имел в виду под могу :)

Liber Azerate
Ну, я это имел в виду под могу :)

А я это имел в виду под НЕ МОЖЕШЬ.

Liber Azerate
Ну, я это имел в виду под могу :)

Потому что для УКАЗАТЕЛЯ такого не надо.

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

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Карта сайта