![]() |
|
Модераторы: bsa |
![]()
|
|
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Статические объекты хранятся в стеке,части оп памяти ,а динам. объекты в куче, части оп памяти. Так?
|
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
mister2010, переменные, объявленные в функции, параметры функций проходят через стек - часть оп. Динамически созданные хранятся в куче, части оп.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Всё хранится в виде объектов в статической и динамической памяти? Если да, то почему?
|
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Вы ЕГЭ по информатике онлайн сдаете что ли?
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Да нет, так чтоб понять для себя.
|
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Как грамотно ответить что означает вот это объявление первой и второй строки?
Это сообщение отредактировал(а) mister2010 - 3.6.2010, 23:37 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
d - это ведь не объект, это только переменная которая будет содержать адрес объекта, какого? Как узнать имя динамического объекта? |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
>это только переменная которая будет содержать адрес объекта, какого?
Да. Переменная создается на стеке, объект - в куче. Переменная содержит адрес этого объекта >Как узнать имя динамического объекта? Имя? Переменной-указателя - никак. На один объект может указывать стопицот указателей. Название типа - через RTTI, но это не используется в обычной практике. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
1)А статические объекты тоже в куче создаются ? Стек не содержит объектов? 2) Box *d = new Box; d это только переменная которая будет содержать адрес объекта, а почему объекта? Если я напишу d->ser(); Где тут указание на объект? Это указатель на функцию класса. Это сообщение отредактировал(а) mister2010 - 4.6.2010, 00:10 |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
>А статические объекты тоже в куче создаются ?
Они создаются в третьей области памяти - статической. Я же писал об этом! >Стек не содержит объектов? Box d создает объект d типа Box на стеке. В вашем же примере d=new Box стек объектов не содержит. >а почему объекта? Потому что new Box создают новый объект типа Box. >Если я напишу d->ser(); Где тут указание на объект? d - "указание на объект". А ->ser() вызов функции (метода) этого объекта. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
"указание на объект" - Как узнать на какой объект ссылается указатель д если как вы говорите у динамического объекта нету имени? Это сообщение отредактировал(а) mister2010 - 4.6.2010, 00:26 |
|||
|
||||
| djamshud |
|
||||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
>"указание на объект" - Как узнать на какой объект ссылается указатель д если как вы говорите у динамического объекта нету имени?
Неправильно:
Правильно:
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
||||
|
|||||
| mister2010 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
На какой объект я так и не понял? Например возьмём первый иф. Если объект под именем d равен объекту по имени d1, тогда что может быть? Каким образом я в этом случаи узнаю на какой объект ссылается указатель от этой строки?
Это сообщение отредактировал(а) mister2010 - 4.6.2010, 00:56 |
||||
|
|||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
>Каким образом я в этом случаи узнаю на какой объект ссылается указатель от этой строки?
После этой строки d будет указывать на только что созданный объект. Оператор new как раз возвращает этот указатель, а d= - присваивает его указателю d. То есть вы знаете об этом. Вы его создали и помните, что d - это вооон тот объект. В общем попробуйте сами подумать и поэкспериментировать. Я спать. И вам спокойной ночи. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |