25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
1

Объявление шаблонной функции

18.07.2013, 17:50. Показов 1096. Ответов 12
Метки нет (Все метки)

Здравствуйте, встретил в учебнике это:

C++
1
2
3
4
5
template <typename Type, int size>
Type min( Type (&r_array)[size] )
{
//...
}
Что значит запись (&r_array)[size] ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2013, 17:50
Ответы с готовыми решениями:

Раздельное объявление и описание шаблонной функции, принимающей в качестве операндов ссылку на объект класса "вектор"
Приветствую. Есть код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;clocale&gt; #include...

Создание шаблонной функции
Создать шаблонную функцию, изменяющий порядок элементов таким образом: первая половина списка...

Вызов шаблонной функции
Что я делаю не так? есть функция: template &lt;class T&gt; T rFF(string input_file) { string tmp;...

Вызов шаблонной функции
Здравствуйте. Есть такой код: template&lt;class _Ty1, class _Ty2&gt; inline pair&lt;_Ty1, _Ty2&gt;...

12
В астрале
Эксперт С++
8044 / 4801 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
18.07.2013, 17:58 2
BuGi, Ссылка на массив размером size.
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
18.07.2013, 18:39  [ТС] 3
Такое допустимо только в шаблонах?
0
Don't worry, be happy
17768 / 10533 / 2034
Регистрация: 27.09.2012
Сообщений: 26,505
Записей в блоге: 1
18.07.2013, 18:42 4
C++
1
2
3
4
int min( int (&r_array)[10] )
{
//...
}
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
18.07.2013, 18:43  [ТС] 5
Croessmah, а если не фиксированный размер? вроде size
И зачем в вашем случае в параметрах вообще задавать размер? Где будет использоваться, там надо писать
0
Don't worry, be happy
17768 / 10533 / 2034
Регистрация: 27.09.2012
Сообщений: 26,505
Записей в блоге: 1
18.07.2013, 18:45 6
Цитата Сообщение от BuGi Посмотреть сообщение
а если не фиксированный размер? вроде size
можете передать указатель на массив, а размер массива вторым параметром
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
18.07.2013, 18:47  [ТС] 7
Это я знаю, всегда так делал, но вот посмотрите предыдущее сообщение, его поправил
0
Don't worry, be happy
17768 / 10533 / 2034
Регистрация: 27.09.2012
Сообщений: 26,505
Записей в блоге: 1
18.07.2013, 18:49 8
Цитата Сообщение от BuGi Посмотреть сообщение
И зачем в вашем случае в параметрах вообще задавать размер?
Чтобы был известен размер массива

Добавлено через 32 секунды
Цитата Сообщение от BuGi Посмотреть сообщение
Где будет использоваться, там надо писать
Здесь нет примера использования
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
18.07.2013, 18:51  [ТС] 9
Цитата Сообщение от Croessmah Посмотреть сообщение
Чтобы был известен размер массива
Кому известен? Тому, кто пишет функцию, он понятное дело известен. Или какой-нибудь sizeof выдаст другие числа?
0
Don't worry, be happy
17768 / 10533 / 2034
Регистрация: 27.09.2012
Сообщений: 26,505
Записей в блоге: 1
18.07.2013, 18:53 10
Цитата Сообщение от BuGi Посмотреть сообщение
Или какой-нибудь sizeof выдаст другие числа?
при таком объявлении выдаст размер массива.
Цитата Сообщение от BuGi Посмотреть сообщение
Кому известен?
дескриптору
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
18.07.2013, 19:03  [ТС] 11
Цитата Сообщение от Croessmah Посмотреть сообщение
дескриптору
Я вот читал как раз про них, но не очень понял суть
Основная идея заключается в том, чтобы использовать умные указатели для ссылок на ведущие указатели. Эти дополнительные указатели и называются дескрипторами.
Если имеется в виду Дескриптор - перевод слова Handle, а не Descriptor, то это некое число, значение которого практически не несет никакой смысловой нагрузки для программиста, однако оно позволяет однозначно идентифицировать некий объект операционной системы и использовать себя (дескриптор) в качестве ссылки
Где эти дескрипторы находятся и зачем они нужны? Или может есть ссылки на подробное описание
0
Don't worry, be happy
17768 / 10533 / 2034
Регистрация: 27.09.2012
Сообщений: 26,505
Записей в блоге: 1
18.07.2013, 19:05 12
Цитата Сообщение от BuGi Посмотреть сообщение
Я вот читал как раз про них, но не очень понял суть
Потому что не про то читали
0
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
18.07.2013, 19:21  [ТС] 13
В общих чертах я понял, что это такое (дескриптор/хендл -- указатель на какие-то системные данные?), но вот как он связан с массивом, переданным в функцию, не пойму)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2013, 19:21
Помогаю со студенческими работами здесь

Итераторы в шаблонной функции
Здравствуйте, пишу программу, в ознакомительных целях с шаблонными функциями. У меня есть функция,...

Экспорт шаблонной функции из DLL
Привет! В DLL есть класс и глобальная шаблонная функция, для получения интерфейса этого класса при...

Присваивание по ссылке в шаблонной функции
такая проблема: при попытке скомпилировать следующий код //... template &lt;typename Type&gt; void...

Реализация шаблонной функции copy
Задание: реализовать шаблонную функцию copy, копирующую часть или весь контейнер в другой...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru