![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
TarasBer |
![]()
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Поиск использовал, не нашёл ничего.
Я вот описал класс, и там были в числе прочих, где-то внутри огромного списка переменных такие строчки:
В другом модуле я описал структуру:
И завел переменную - указатель на неё:
Значит у меня много переменных вышеописанного класса, и общение программы с модулем происходит именно через вот этот самый Attr таким образом:
Я предполагаю, что в объекте данные, описанные подряд, находятся тоже подряд, и поэтому, присвоив указатель таким способом, я автоматически получаю соответствие между одноимёнными переменными. Но меня постиг облом. Так выходит, что DoorState <> Attr.DoorState; Я очень этому удивился, и прогнал программу, просмотрев в Watches значения указателей на переменные. И оказалось, что вот те булевские переменные идут в памяти подряд, одна за другой с шагом в 1 байт, а вот DoorState почему-то отстоит от IsNight на 2 байта! Так вот, какой быстрый способ присвоения этого Attr вы посоветуете? Или как настроить компилятор, чтобы данные располагались как положено? -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 21:09 |