Вопросы с тегом «memory-layout»

3
Структура памяти в C
У меня опыт работы на C #. Я новичок в языке низкого уровня, таком как C. В C # structпамять по умолчанию распределяется компилятором. Компилятор может неявно изменять порядок полей данных или вставлять дополнительные биты между полями. Итак, мне пришлось указать какой-то специальный атрибут, чтобы переопределить это поведение для точного …

7
Как работает сравнение указателей в C? Можно ли сравнивать указатели, которые не указывают на один и тот же массив?
В главе 5 K & R (язык программирования C, 2-е издание) я прочитал следующее: Во-первых, указатели могут сравниваться при определенных обстоятельствах. Если pи qуказывают на элементы одного и того же массива, то соотношения нравится ==, !=, <, >=и т.д. работать должным образом. Кажется, это означает, что сравнивать можно только указатели, …

2
[[no_unique_address]] и два значения элемента одного типа
Я играю с [[no_unique_address]]в c++20. В примере на cppreference у нас есть пустой тип Emptyи типZ struct Empty {}; // empty class struct Z { char c; [[no_unique_address]] Empty e1, e2; }; Видимо, размер Zдолжен быть хотя бы 2потому, что типы e1и e2одинаковы. Тем не менее, я действительно хочу иметь …

1
Почему оптимизация пустой базы запрещена, если пустой базовый класс также является переменной-членом?
Оптимизация пустой базы - это здорово. Тем не менее, он имеет следующие ограничения: Оптимизация пустой базы запрещена, если один из пустых базовых классов также является типом или базой типа первого не статического члена данных, поскольку два базовых подобъекта одного типа должны иметь разные адреса в представлении объекта. самого производного типа. …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.