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

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

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

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

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

Вот есть у меня класс, каким образом определить его размер в битах ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 17:20     Как определить размер класса ?
Посмотрите здесь:

Как узнать размер объекта класса? C++
Как определить размер фаила с ifstream или как-то по другому? C++
размер класса C++
C++ Как определить размер строки LPTSTR?
Как определить размер класса? C++
C++ Как определить размер файла свыше 4Гб?
C++ Как определить размер открытого файла
C++ Как задать размер матрицы в конструкторе класса?
Char*. Как определить размер строки? C++
C++ Как определить размер массива объявленного в другом модуле?
C++ Константное поле класса как размер массива
Как задать размер массива, который является членом класса, через конструктор? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
 Аватар для Mr.X
3021 / 1677 / 265
Регистрация: 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);    
}
Jugger
0 / 0 / 0
Регистрация: 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 минут
А, он в байтах возвращает
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2297 / 1667 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
13.03.2011, 19:26     Как определить размер класса ? #4
Jugger,
1. Размер инта может зависеть от платформы.
2. В твоем случае размер инта и указателя по 4 байта.
3. Методы на размер никак не влияют.
Yandex
Объявления
13.03.2011, 19:26     Как определить размер класса ?
Ответ Создать тему
Опции темы

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