Форум программистов, компьютерный форум CyberForum.ru

Как определить размер класса? - C++

Восстановить пароль Регистрация
 
Leytak
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 10
05.06.2013, 17:46     Как определить размер класса? #1
Здравствуйте!
Подскажите, как определить размер класса? sizeof не работает, то есть выдаёт непонятное значение.
Класс состоит из нескольких int, float и из двух структур, одна из которых состоит нескольких int, другая - из нескольких string.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
05.06.2013, 17:49     Как определить размер класса? #2
Цитата Сообщение от Leytak Посмотреть сообщение
sizeof не работает
Как раз sizeof() и нужен.

Цитата Сообщение от Leytak Посмотреть сообщение
то есть выдаёт непонятное значение.
Скорее всего в дело вмешался alignment, почитай про выравнивание данных.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.06.2013, 18:11     Как определить размер класса? #3
Цитата Сообщение от Leytak Посмотреть сообщение
другая - из нескольких string.
Вот это мешает. В зависимости от реализации, string может быть и 4 байта, и 32.
Цитата Сообщение от Leytak Посмотреть сообщение
и из двух структур,
Структуры в классе объявлены?
Leytak
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 10
05.06.2013, 18:31  [ТС]     Как определить размер класса? #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Структуры в классе объявлены?
нет...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.06.2013, 18:34     Как определить размер класса? #5
Цитата Сообщение от Leytak Посмотреть сообщение
sizeof не работает, то есть выдаёт непонятное значение.
Какое и в чём непонятное? И зачем понадобился размер класса?
Leytak
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 10
05.06.2013, 18:48  [ТС]     Как определить размер класса? #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Какое и в чём непонятное? И зачем понадобился размер класса?
Каждый раз разное значение, примерно восьмизначное, с буквами.(A-F) Размер класса нужен был, чтобы создать список из классов, и для выделения памяти нужен был размер.
Но я уже по-другому сделал, без списка. Всем спасибо.
Yandex
Объявления
05.06.2013, 18:48     Как определить размер класса?
Ответ Создать тему
Опции темы

Текущее время: 17:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru