Вопрос Щитпост

Статус
В этой теме нельзя размещать новые ответы.
На самом деле я Zodiak
Участник
Статус
Оффлайн
Регистрация
22 Дек 2020
Сообщения
1,026
Реакции[?]
182
Поинты[?]
71K
может люди читать не умеют, за счёт айкью теста был задан вопрос - почему происходит именно так, конечный результат (из примера в основной мсг) 16 байт был известен методом народного тыка, а почему именно так я не знал, по этой причине создал тред с интересным названием и интересным содержанием, которое по неизвестной причине заставило бомбом многие передаки (а сапдрагон тут вообще зачем)

последнее - именно то, что я хотел, максимально много актива, максимально много ответов
я знал конечный результат, но не причину следствия, а тут мне выдали 3 страницы результатов (50% кала конечн, но пойдёт)

самое интересное, после того, как я понял почему, я написал отдельным сообщением для тех, кому лень читать статью от мягких, а такие люди, как https://yougame.biz/members/531221/ даже после сообщения писали "free my mane! вся система делится на 8 байт и тебе остаётся плакать в подушку, если у тебя 1 чар в классе!"
тред был создан не в целях поглумиться над некорректными ответами, а в целях произвести культурное обогащение, чтоб больше не было такого
всем похуй уже
 
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции[?]
25
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
в целях произвести культурное обогащение
да не братан, тема была создана в связи с тем что ты не знал про мемори алайнмент, не прикрывай запах мочи насрав посередине комнаты
 
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции[?]
25
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
да не братан, тема была создана в связи с тем что ты не знал про мемори алайнмент, не прикрывай запах мочи насрав посередине комнаты
я не знал, а ты, дорогой друг, знал это? почему же у тебя удивительным образом вся память на реестры по 8 разбита? я, кстати, в сообщении открыто написал - я не знал что это такое, поэтому и начал тему
для чего ты апнул тему?
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
почему же у тебя удивительным образом вся память на реестры по 8 разбита?
ничего удивительного в этом нет
я не знал, а ты, дорогой друг, знал это?
да
для чего ты апнул тему?
тебе ответить
 
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции[?]
25
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ничего удивительного в этом нет

да

тебе ответить
ты тупой? в классе находятся 2 инта и бул, сколько будет сайзоф объекта класса? 16? я тебе выше писал, что будет разметка по самому большому члену класса
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции[?]
25
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пользователь
Статус
Онлайн
Регистрация
4 Окт 2014
Сообщения
180
Реакции[?]
71
Поинты[?]
15K
там $ стоит какой нахуй тест , у тебя ошибка компиляции будет
 
Ревёрсер среднего звена
Пользователь
Статус
Оффлайн
Регистрация
24 Ноя 2022
Сообщения
303
Реакции[?]
108
Поинты[?]
57K
по неизвестной причине заставило бомбом многие передаки
Мама, я их затраллил!
(ты если о паддинге только узнал, то ни на какое моральное/интеллектуальное превосходство претендовать не можешь. То, что люди могут приводить не совсем правильные формулировки причины ещё не значит, что они не знают, почему так)
 
rgb(24, 205, 154)
Пользователь
Статус
Оффлайн
Регистрация
9 Фев 2019
Сообщения
287
Реакции[?]
80
Поинты[?]
75K
Забаненный
Статус
Оффлайн
Регистрация
6 Авг 2022
Сообщения
128
Реакции[?]
25
Поинты[?]
4K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
там $ стоит какой нахуй тест , у тебя ошибка компиляции будет
это обычный символ бро
Мама, я их затраллил!
(ты если о паддинге только узнал, то ни на какое моральное/интеллектуальное превосходство претендовать не можешь. То, что люди могут приводить не совсем правильные формулировки причины ещё не значит, что они не знают, почему так)
а я претендовал? я 3 мсг написал, что это был вопрос ради ответа, актив есть, правильный ответ (который я не знал) есть, ауе!!!
друг этот айкью тест ты сам не прошёл
да
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
2 Июл 2021
Сообщения
155
Реакции[?]
21
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
На х64 - 12 байт, т.к. указатель равен 8 байтам, интежер - 4 байтам
На х86 - 8 байт, т.к. указатель будет равен уже 4 байтам
 
rgb(24, 205, 154)
Пользователь
Статус
Оффлайн
Регистрация
9 Фев 2019
Сообщения
287
Реакции[?]
80
Поинты[?]
75K
По дефолту твой код будет на x64 - 16 байт занимать и 8 байт на x32 из-за выравнивания, но если изменить на выравнивание по 4, то на x64 будет 12 байт, используя #pragma pack(push, 4) и #pragma pack(pop), хотя из-за этого может упасть эффективность, иначе бы оптимизатор сам бы это делал. Эксперты плюсов, он же ранее оксимирон, сейчас вроде мэйби бэйби подправит нас
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
По дефолту твой код будет на x64 - 16 байт занимать и 8 байт на x32 из-за выравнивания, но если изменить на выравнивание по 4, то на x64 будет 12 байт, используя #pragma pack(push, 4) и #pragma pack(pop), хотя из-за этого может упасть эффективность, иначе бы оптимизатор сам бы это делал. Эксперты плюсов, он же ранее оксимирон, сейчас вроде мэйби бэйби подправит нас
зачем советовать #прагма директивы которых даже в стандарте сппшном нет
 
rgb(24, 205, 154)
Пользователь
Статус
Оффлайн
Регистрация
9 Фев 2019
Сообщения
287
Реакции[?]
80
Поинты[?]
75K
зачем советовать #прагма директивы которых даже в стандарте сппшном нет
да это не совет, скорее рассказал из-за чего меняется размер одной и той же структуры, на оптимизацию влияла это директива, кстати или нет?
 
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,596
Реакции[?]
605
Поинты[?]
46K
да это не совет, скорее рассказал из-за чего меняется размер одной и той же структуры, на оптимизацию влияла это директива, кстати или нет?
она по определению уб - у нее нет определения

а так да, ты абсолютно прав
 
Начинающий
Статус
Оффлайн
Регистрация
12 Ноя 2022
Сообщения
63
Реакции[?]
23
Поинты[?]
3K
Если по теме и слегка серьёзно: нет смысла знать вес самого класса т.к
больше сыграет компилятор в оптимизации(если вы не будете делать максимально тупые вещи по типу везде __forceinline и вызов таких функций по 20+раз)
В HF-трейдинге и геймдеве нужно знать - влезет ли структура в кэш линию.


Ответ 0x10, автор клоун
Указатель - 8 байт
Integer - 4 байта
Padding - 4 байта
В C++ не существует таких вещей, как padding, виртуальная таблица.
Стандарт не даёт гарантий относительно sizeof, offsetof.
Если твой код полагается на какие то конкретные значения оффсетов или размеров, то это UB.
Это значит compiler implementation dependent.
Цель языка C++, чтобы код скомпилированный на всех компиляторах поддерживающих стандарт имел одинаковый behavior.

Например такая вещь как sizeof(pointer to member function)
Itanium ABI будет равен sizeof(void*) для обычных функций-членов. sizeof(void*)*2 для виртуальных.
В Microsoft ABI это sizeof(void*) для обычных. sizeof(void*) для виртуальных.
Но если это virtual and/or multiple inheritance, то sizeof(void*)*2.


Забавно что автор вопроса взялся за такую сложную тему как оценка intelligence quotient по одному вопросу,
однако не справился с тем, чтобы грамотно определить constraints вопроса.

Предположу он даже не догадывается о том что язык C++ и компилятор msvc это разные вещи, просто узнал про паддинги и сразу решил закрепить знания через самоутвердиться за счёт сверстников. Интересно каково будет его удивление, когда узнает про настраиваемые опции комплятора.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу