|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.04.2014, 17:12 | #1 |
7 - классник
Форумчанин
Регистрация: 27.03.2014
Сообщений: 181
|
Массив классов, ссылочных типов.
Такой простой код.
Element[] e = new Element[10]; Скажите мне почему после этого нужно еще раз проходиться по массиву и создавать каждый e[i] элемент массива ? Вот что тогда делает верхний код, для чего он выделяет память в размере десяти элементов? Или он вообще ничего не делает ? |
04.04.2014, 23:04 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Это же очевидно.
Создание массива создаёт только массив, и в случае если элементы - типы значения (value-types) то они инициализируются по умолчанию - инты в 0, булы в false , строки в пустую строку, любые не типы значения , а типы ссылочные (reference types) инициализируются в null , т.к. ссылочный тип это указатель, а значение указателя по умолчанию - null. Чтобы иметь созданный объект - его надо инициализировать конструктором, при этом сам объект создаётся в управляемой памяти, а ссылка на него записывается в этот указатель (который является элементом массива. хотя и для обычных переменных ссылочных типов всё точно также работает, т.е. массив тут ни на что не влияет). |
04.04.2014, 23:25 | #3 | |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Цитата:
Благодарить в репутацию. Проклинать — туда же
|
|
04.04.2014, 23:45 | #4 | |
7 - классник
Форумчанин
Регистрация: 27.03.2014
Сообщений: 181
|
Цитата:
|
|
05.04.2014, 21:51 | #5 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
так самому массиву тоже место под солнцем .. т.е. в озу надо, в астрале не умеет жить
|
05.04.2014, 21:54 | #6 |
7 - классник
Форумчанин
Регистрация: 27.03.2014
Сообщений: 181
|
ну что ж это он очень зря не умеет, нормальные массивы должны уметь там жить
|
05.04.2014, 22:09 | #7 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
тогда вы форумом ошиблись, эксрасенсы на другом
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массив классов | David Villa | Общие вопросы C/C++ | 19 | 08.05.2012 10:48 |
Объявление ссылочных переменных | _-Re@l-_ | Общие вопросы C/C++ | 5 | 14.03.2011 12:32 |
Шаблоны. Создать отедльный конструктор копирования для типов, другой для классов | TwiX | Общие вопросы C/C++ | 3 | 19.09.2010 16:29 |
Уничтожение ссылочных массивов. | jojahti | Общие вопросы C/C++ | 2 | 22.08.2009 01:03 |
Массив классов | nns2009 | Общие вопросы C/C++ | 15 | 03.02.2009 00:47 |