С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
 Аватар для Svinina
5 / 5 / 0
Регистрация: 28.11.2010
Сообщений: 81

Организация памяти.

05.11.2011, 23:32. Показов 4846. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Объясните, пожалуйста, вот что:
Допустим есть класс, с определенным количеством полей и определенным набором методов. При создании нескольких экземпляров этого класса, как будет храниться код его методов? Будут создаваться его копии, или он будет храниться в памяти в единственном экземпляре?

И вообще, меня интересует, как хранится программа в памяти. Где хранится код, где хранятся данные, что происходит при динамическом распределении памяти, чем оно отличается от статического и т. д. В книгах по С++ цельного структурированного ответа на эти вопросы пока найти не могу. Понимаю, что вопрос очень общий, и в рамках форума на него не ответить, поэтому, посоветуйте, пожалуйста, статьи, в которых это описано.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2011, 23:32
Ответы с готовыми решениями:

организация виртуальной памяти
Помогите плиз с задачей.... Смоделировать работу системы, которая использует страничную организацию памяти с размером страници 200...

Организация памяти для текстового редактора
/* * Реверанс для модераторов: Я самостоятельно скопировал эту тему из раздела "Алгоритмы" (хотя сам её и создал там) нарушая...

Выделить в памяти 1024 ячейки по 8 байт и вывести их адреса(МИНИ менеджер памяти))
Вот тут появилась такая интересная задача: требуется сделать программу которая управляет 1024 ячейками памяти по 8 байт каждая. т.е. за...

6
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
05.11.2011, 23:39
Цитата Сообщение от Svinina Посмотреть сообщение
Будут создаваться его копии
Нет
Цитата Сообщение от Svinina Посмотреть сообщение
он будет храниться в памяти в единственном экземпляре?
Да

Не по теме:

ровно пять букв

1
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
05.11.2011, 23:44
Объект( экземпляр ) класса содержит в себе только не статические поля.
1
 Аватар для Svinina
5 / 5 / 0
Регистрация: 28.11.2010
Сообщений: 81
06.11.2011, 00:00  [ТС]
А где тогда хранятся методы?
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
06.11.2011, 00:03
Цитата Сообщение от Svinina Посмотреть сообщение
А где тогда хранятся методы?
Там же, где и обычные функции.
Функции\методы хранятся в коде программы. А объекты, создаваемые во время выполнения программы хранятся в памяти, отведенной при запуске программы.
0
Делаю внезапно и красиво
Эксперт С++
 Аватар для Deviaphan
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
06.11.2011, 07:32
На самом деле, полный ответ на этот вопрос никто дать не сможет, т.к. "состав" объекта не стандартизирован и реализуется по желанию разработчиков компилятора. Т.е. о количестве и порядке следования полей ещё можно говорить с почти 100% уверенностью, а вот о служебных данных уверенности уже быть не может. Т.е. при использовании (множественного) наследования, с некоторой долей уверенности можно говорить только о положении полей первого базового класса.

А в остальном, как уже и сказали, код один на всех, не статические данные создаются для каждого объекта свои.
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
06.11.2011, 10:23
Цитата Сообщение от Svinina Посмотреть сообщение
При создании нескольких экземпляров этого класса, как будет храниться код его методов? Будут создаваться его копии, или он будет храниться в памяти в единственном экземпляре?
К всему вышесказанному добавлю. Методы хранятся в единственном экземпляре, при этом первым параметром в метод незаметно передается указатель на начало памяти, выделенной под объект, т.е. this. Таким образом методы работают с данными конкретного объекта, и за все это отвечает компилятор.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2011, 10:23
Помогаю со студенческими работами здесь

Можно ли разместить переменную в нужную ячейку памяти и реально ли хранить данные, разбросанными по памяти?
Добрый день. Не могу найти информацию по двум вопросам : 1) могу ли я разместить переменную в нужную ячейку памяти. Например: int a...

Резервирование памяти/освобождение памяти для трехмерного массива
Необходимо создать трехмерный массив (A), в котором элементы вдоль направления Z выли бы выровнены по 16 байт. Есть две проблемы: ...

Разработка программы обмена местами двух целочисленных ячеек памяти без использования дополнительной памяти
Разработка программы обмена местами двух целочисленных ячеек памяти без использования дополнительной памяти Предлагаемый алгоритм...

Выделение памяти, проверка на утечку памяти
Интересуют два вопроса: 1. Правильно ли устроен алгоритм выделения, удаление и запись ячейки памяти? Может быть, есть более простые...

Распределение памяти. Динамическое выделение памяти
an-1 an-2 ... a2


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru