Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2021, 19:03   #1
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 623
По умолчанию Занимает ли место в памяти несозданный элемент

Вопрос такое

К примеру есть такой массив
A: array [0..10] of TButton;

Из программы были созданы элементы с 1 по 10й (через TButton.Create), а нулевой создан не был

Вопрос: занимает ли этот нулевой место в памяти? Резервируется ли под него место?
Сказывается ли он вообще как-то на работе программы?
Kronos913 вне форума Ответить с цитированием
Старый 22.06.2021, 19:41   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Место в массиве резервируется под указатель на объект. Под сам объект, по идее, не резервируется.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 22.06.2021, 22:10   #3
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 623
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Место в массиве резервируется под указатель на объект. Под сам объект, по идее, не резервируется.
"Место в массиве"

В массиве находится объект, или ссылка на область памяти с объектом?
Kronos913 вне форума Ответить с цитированием
Старый 22.06.2021, 22:46   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Ссылка на экземпляр класса (адрес области памяти).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 23.06.2021, 13:54   #5
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Kronos913, с чего Вы взяли что массив заполнен с 1 по 10, а не с 0 по 9 ?
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 23.06.2021, 14:38   #6
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 623
По умолчанию

Цитата:
Сообщение от Desc Посмотреть сообщение
Kronos913, с чего Вы взяли что массив заполнен с 1 по 10, а не с 0 по 9 ?
Я долго пытался понять, как устранить один глюк нормальным способом, никак не получалось. Пришлось создать в начале массива лишний элемент с номером 0, чтобы он "собрал глюки" на себя
Ну а сам элемент при этом не используется и даже не создается
Kronos913 вне форума Ответить с цитированием
Старый 24.06.2021, 13:20   #7
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Что значит не используется и не создается?
Вот здесь:
Цитата:
Сообщение от Kronos913 Посмотреть сообщение
A: array [0..10] of TButton;
уже выделена память под массив из 11-ти элементов.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 27.06.2021, 02:58   #8
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,869
По умолчанию

Цитата:
Сообщение от Desc Посмотреть сообщение
Что значит не используется и не создается?
Вот здесь:

уже выделена память под массив из 11-ти элементов.
Следует уточнить. В этом коде выделена память под массив из 11 указателей на некие классы. То бишь 44 или 88 байт.
northener вне форума Ответить с цитированием
Старый 27.06.2021, 15:06   #9
Kronos913
Форумчанин
 
Регистрация: 10.02.2021
Сообщений: 623
По умолчанию

То есть у меня без дела "лежат" только 4 байта?
Kronos913 вне форума Ответить с цитированием
Старый 27.06.2021, 15:58   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Да, для 32битного приложения.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сколько памяти занимает VMT? Yudin Общие вопросы C/C++ 5 04.10.2018 20:34
узнать, сколько памяти занимает класс BLACK_RAIN Общие вопросы Delphi 5 03.07.2017 15:15
webbrowser при обновлении страницы занимает больше оперативной памяти КатяСаша Общие вопросы Delphi 10 01.11.2016 18:44
Определить, сколько места занимает программа в памяти kolian87 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 26.01.2015 07:47
Количество оперативной памяти которое занимает программа werser Помощь студентам 1 03.02.2008 02:22