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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Leytak
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 10
#1

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

05.06.2013, 17:46. Просмотров 446. Ответов 5
Метки нет (Все метки)

Здравствуйте!
Подскажите, как определить размер класса? sizeof не работает, то есть выдаёт непонятное значение.
Класс состоит из нескольких int, float и из двух структур, одна из которых состоит нескольких int, другая - из нескольких string.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как определить размер класса? (C++):

Как определить размер класса ? - C++
Вот есть у меня класс, каким образом определить его размер в битах ?

Как узнать размер объекта класса? - C++
Здравствуйте, Дамы и Господа! Есть ли функция, передающая значение количества байт, отведенных в памяти для объекта класса? Например...

Как задать размер матрицы в конструкторе класса? - C++
Подскажите как задать размер матрицы в конструкторе класса? Решаю задачи из учебника, не могу понять, думаю это невозможно... Р. Лафоре...

Константное поле класса как размер массива - C++
class Array { private: const int size; int array; public: Array(): size(10) { }

Как задать размер массива, который является членом класса, через конструктор? - C++
Почему так? И как же тогда задать размер этого массива? class Test { public: Test(int size) : arrSize(size){}; private: ...

Как определить размер фаила с ifstream или как-то по другому? - C++
Как определить размер фаила с помощью ifstream или как-то по другому?

5
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,276
Записей в блоге: 2
Завершенные тесты: 1
05.06.2013, 17:49 #2
Цитата Сообщение от Leytak Посмотреть сообщение
sizeof не работает
Как раз sizeof() и нужен.

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

Как определить размер открытого файла - C++
Как определить размер открытого файла. Я заметил, что если запустить программу для определения размера файла каждые 30с , то размер будет...

Char*. Как определить размер строки? - C++
Добрый день! Вопрос вроде бы на первый взгляд простой, но ответ на него найти не получается. Как определить разме строки? ...

Как определить размер строки LPTSTR? - C++
Как определить размер строки LPTSTR? strlen не подходит...

Как определить размер изображения?? - C++
Подскажите, пожалуйста, как определить размер изображения ?? (С++).


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
05.06.2013, 18:48
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru