На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Массивная структура: проблемы с sizeof.
    Other_Boards *D64HU_0_Data_OUT = new Other_Boards[128];

    sizeof(*D64HU_0_Data_OUT) = 96000. Sizeof(Other_Boards) тоже = 96000! Как получить вычислениями число 128?
      А что, если разделить на Sizeof(Other_Boards[0]) ?
        Не помогло. Он вообще не дает sizeof от такой конструкции. Пробовал различные комбинации с [], *, & - не дает результата. Я по-другому решил вопрос: создал константу, константой создаю структуры - и именно из константы получаю нужное число. Массив констант в итоге вышел.

        Добавлено
        Цитата MBo @
          Цитата Сергей85 @
          Как получить вычислениями число 128?

          Стандартными методами - никак. Теоретически, можно раскопать менеджер памяти и посмотреть как он хранит размер выделенного блока. Но я бы не советовал.

          sizeof используется, когда массив выделен статически. Для динамических нужно сохранять и передавать размер отдельно.

          А вообще, воспользуйся лучше std::vector<Other_Boards>
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0181 ]   [ 16 queries used ]   [ Generated: 23.04.24, 09:49 GMT ]