Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.125.2] |
|
Сообщ.
#1
,
|
|
|
Other_Boards *D64HU_0_Data_OUT = new Other_Boards[128];
sizeof(*D64HU_0_Data_OUT) = 96000. Sizeof(Other_Boards) тоже = 96000! Как получить вычислениями число 128? |
Сообщ.
#2
,
|
|
|
А что, если разделить на Sizeof(Other_Boards[0]) ?
|
Сообщ.
#3
,
|
|
|
Не помогло. Он вообще не дает sizeof от такой конструкции. Пробовал различные комбинации с [], *, & - не дает результата. Я по-другому решил вопрос: создал константу, константой создаю структуры - и именно из константы получаю нужное число. Массив констант в итоге вышел.
Добавлено Цитата MBo @ |
Сообщ.
#4
,
|
|
|
Цитата Сергей85 @ Как получить вычислениями число 128? Стандартными методами - никак. Теоретически, можно раскопать менеджер памяти и посмотреть как он хранит размер выделенного блока. Но я бы не советовал. sizeof используется, когда массив выделен статически. Для динамических нужно сохранять и передавать размер отдельно. А вообще, воспользуйся лучше std::vector<Other_Boards> |