Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Jugger
0 / 0 / 1
Регистрация: 03.09.2008
Сообщений: 35
#1

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

13.03.2011, 17:20. Просмотров 1328. Ответов 3
Метки нет (Все метки)

Вот есть у меня класс, каким образом определить его размер в битах ?
http://www.cyberforum.ru/cpp-beginners/thread892243.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 17:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как определить размер класса ? (C++):

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

Константное поле класса как размер массива
class Array { private: const int size; int array; public:...

Как задать размер матрицы в конструкторе класса?
Подскажите как задать размер матрицы в конструкторе класса? Решаю задачи из...

Наследование: Как мне определить любой из методов заданного класса внутри другого класса?
Добрый день, подскажите пожалуйста, что я делаю не так Есть файл Container.h...

Как задать размер массива, который является членом класса, через конструктор?
Почему так? И как же тогда задать размер этого массива? class Test {...

3
Mr.X
Эксперт С++
3178 / 1705 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
13.03.2011, 18:46 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/////////////////////////////////////////////////////////////////////////////////////////
#include <complex>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
class T_class
{
    int       a[100]; 
    double    b;    
};
/////////////////////////////////////////////////////////////////////////////////////////
template<class T>
void  print_class_size(const T&  t)
{
    std::cout << "Размер объекта "    
              << typeid(t).name()
              << " составляет "
              << sizeof(t)
              << " байтов."
              << std::endl;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));    
    print_class_size  (T_class());
    print_class_size  (std::complex<double>());
    print_class_size  (1);
    print_class_size  ('a');
    print_class_size  (0.0);
    print_class_size  (0.0L);
    print_class_size  (long long());
    print_class_size  ("Hello!");
    T_class t[100];
    print_class_size  (t);    
}
1
Jugger
0 / 0 / 1
Регистрация: 03.09.2008
Сообщений: 35
13.03.2011, 19:24  [ТС] #3
Ясненько
Но вот непонятная штука

Вот мой класс

C++
1
2
3
4
5
6
7
8
9
10
11
class element {
 
    public : 
        element(int q){
            x=q;
            next=0;
        };
        int x;
        element* next;
        ~element();
    } ;
sizeof(element) дает 8
Но там же инт имеющий 16 бит + указатель + две функции

Добавлено через 7 минут
А, он в байтах возвращает
0
CyBOSSeR
Эксперт С++
2309 / 1682 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
13.03.2011, 19:26 #4
Jugger,
1. Размер инта может зависеть от платформы.
2. В твоем случае размер инта и указателя по 4 байта.
3. Методы на размер никак не влияют.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2011, 19:26
Привет! Вот еще темы с решениями:

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

Как определить размер открытого файла
Как определить размер открытого файла. Я заметил, что если запустить программу...

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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