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

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

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

Размер объекта - C++

30.12.2012, 18:38. Просмотров 401. Ответов 1
Метки нет (Все метки)

Только что прочитал такую статью - http://devdoc.web-ide.ru/index.php/c...rtual_base.htm
И там написано "Создание объекта – это просто выделение блока памяти для данных этого класса и все! Соответственно, размер объекта полностью зависит только от количества и размера переменных, но не от методов."

И я ,может конечно не правильно подумал - и решил что такой класс должен весит 0
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A
{
      public:
      A()
      {
                cout<<"Creat A\n";
                }
       ~A()
      {
          cout<<"Destroy A\n";
          }
      void print(){cout<<"Print A\n";}
 
          };
но ведь такого не может быть
A ob;
sizeof(ob) = 1. это как -то связано с указателем this?

а когда сделал функцию print() - virtual - то sizeof(ob) = 4
а это как-то связано с вшиваемым в конструктор указателем vpointer ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2012, 18:38     Размер объекта
Посмотрите здесь:

Размер объекта? - C++
При работе с объектами, совсем не знал забыл следующие моменты: Зависит ли размер объекта от количества в нем методов ? Будет ли...

Размер объекта в байтах - C++
Разъясните пожалуйста следующую ситуацию. Почему при таком class A { int x; int y; double a; }; и таком...

Размер объекта со всеми вложениями - C++
Как узнать сколько в оперативной памяти занимает обьект со всеми обьектами которые были в нём инициализированы?

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

В строке первого объекта класса слово MAX длины заменить на слово MAX длины второго объекта класса - C++
Доброго времени суток! Есть задача: Создать 2 объекта разработанного класса. Одной из компонент класса является символьная строка....

Размер матрицы - C++
Люди, помогите пожалуйста! У меня есть задание: создать библиотеку функций для работы с матрицами. Можно ли сделать ,так что в...

Размер файла - C++
Добрый день , нужно получить размер файла мой код пишет что-то не внятное значение 1787408944 #include &lt;sys/stat.h&gt; ...

Размер окна - C++
Знающие люди, подскажите пожалуйста,как задать размер консольного окошка??..т.е. он стандартно вроде 80х25,а мне например нужно,чтобы был...

Размер указателя - C++
sizeof(void*);// Размер указателя на любой тип равен 8, почему так много? И можно ли как-нибудь узнать сколько под указатель выделено...

Размер INT - C++
int a = 99999000000; cout &lt;&lt;a; Выводит 12345646 типа такова. без -! непойму ск макс может инт держать? sizeof(int) = 4 4...

Размер стуктуры - C++
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; struct pol { char gop; char hop; int iop; ...

Размер массива - C++
Почему это работает? И как это понимать? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; template &lt;size_t Len&gt; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1608 / 1000 / 118
Регистрация: 27.09.2009
Сообщений: 1,927
Завершенные тесты: 1
30.12.2012, 18:58     Размер объекта #2
Цитата Сообщение от Mr_vanDort Посмотреть сообщение
но ведь такого не может быть
Чего действительно не может быть, так это чтобы два разных объекта располагались по одному и тому же адресу, поэтому даже абсолютно пустой объект должен занимать хоть какое-то место. А то хорош был бы массивчик таких объектов... Это если он самостоятельный, конечно, а не член или предок другого класса/структуры.
Цитата Сообщение от Mr_vanDort Посмотреть сообщение
а это как-то связано с вшиваемым в конструктор указателем vpointer?
Непосредственно. С появлением виртуальной функции в составе объекта появился этот указатель, размером как раз в те самые 4 байта.
Yandex
Объявления
30.12.2012, 18:58     Размер объекта
Ответ Создать тему
Опции темы

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