Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для lera
0 / 0 / 0
Регистрация: 24.06.2008
Сообщений: 11

Помогите разобраться с неименованными объектами

25.06.2008, 14:30. Показов 1258. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дан шаблонный класс Array.
ничего интересного, совершенно обыкновенный класс, а вот конструктор имеет такой вид:
объявление:
C++
1
Array(int initialSize, const T& defaultValue = T());
определение:
C++
1
2
3
4
5
6
template<typename T>
Array<T>::Array(int initialSize, const T& defaultValue):size(initialSize){
   data = new T[size];
   for(int i=0; i<size; ++i)
      data[i] = defaultValue;
}
знаю что const T& defaultValue = T() это неименнованый объект
может кто-нибудь объяснить для чего он нужен вообще и для чего конкретно в этом примере?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2008, 14:30
Ответы с готовыми решениями:

Помогите пожалуйста разобраться с графическими объектами
Нужно нарисовать в С шарпе иудейскую звезду (наложение двух равносторонних треугольников друг на друга: один вершиной вверх, другой -...

Не могу разобраться с классами и объектами
Доброго всем и прочего. Вот решил изменить 1С и перешел на шарп. Собственно пытаюсь перелить проект, работающий на 1С 8.2 в...

Помогите разобраться
Есть сайт www.ivrose.ru что то с ним делали ребята по раскрутке, сайт начал идти в гору, добрался по двум запросам до 100 места и рухнул в...

7
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.06.2008, 14:49
Он, типа, создает массив "чего угодно". И инициализирует его в цикле.
Code
1
data = new T[size];
выделили память под initialSize элементов типа T.
Code
1
2
for(int i=0; i<size; ++i)
data[i] = defaultValue;
Инициализируем переданным параметром.

P. S. про неименованные объекты я не слышал шаблоны, как шаблоны...
0
 Аватар для lera
0 / 0 / 0
Регистрация: 24.06.2008
Сообщений: 11
25.06.2008, 15:30  [ТС]
так эт все понятно...
а объявление у конструктора странное просто
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.06.2008, 15:48
Можно узнать, что в нем странное? Двоеточие?
Оно указывает на то, что size инициализируется значением initialSize.
0
 Аватар для lera
0 / 0 / 0
Регистрация: 24.06.2008
Сообщений: 11
25.06.2008, 15:53  [ТС]
да это тоже все очевидно
Array(int initialSize, const T& defaultValue = T());
вот это =Т() не понимаю
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.06.2008, 16:33
Все просто. Если второй параметр констркутора Array не задан, вызовем конструктор по умолчанию для заданного типа.
Например, сделаю я так:
Code
1
Array<MyClass> a(5);
Это будет равнозначно:
Code
1
Array<MyClass> a(5, MyClass());
0
 Аватар для lera
0 / 0 / 0
Регистрация: 24.06.2008
Сообщений: 11
25.06.2008, 16:47  [ТС]
спасибо большое))

Добавлено через 4 минуты
то есть это то же самое как если бы у меня не MyClass было а int например, то в конструкторе я бы написала int defaultValue = 0
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.06.2008, 16:54
Любой тип. Если будет int, то вызовется int(), если double, то вызовется double(). То есть стандартный конструктор для любого типа. Если Вы хотите написать
int defaultValue = 0
то зачем это делать? Он сам обнулится при вызове int(). В студии-то точно.
Code
1
Array<int> a(5);
даст Вам пять нулей в data.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.06.2008, 16:54
Помогаю со студенческими работами здесь

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

помогите разобраться
решил начать изучение AVR только проблема в том, что незнаю неодного языка программирования,что такое компилятор короче незнаю ничего вот....

Помогите разобраться с БП
Всем доброго времени суток. Столкнулся с такой проблемой: Как то в недалеком прошлом я приобрел Домашний ПК Acer Aspire E380. На...

Помогите разобраться
Ситуация такая Есть две таблицы к примеру: 1) Список компутеров с их параметрами и ключевым полем без повторений 2) Список...

Помогите разобраться !!!
Здравствуйте, помогите пожалуйста найти причину вылета сайта guardcar.ru из яндекса? На сайте был вирус в файле htaccess, я его удалил.....


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru