|
4 / 4 / 0
Регистрация: 26.10.2014
Сообщений: 105
|
||||||||||||||||
Способы объявления шаблона12.08.2015, 03:28. Показов 5657. Ответов 21
Метки нет (Все метки)
Здравствуйте!
Возникли непонятки в ходе изучения шаблонов. Взглянем на код:
Прикол в том, что если строку 5 изменить следующим образом:
0
|
||||||||||||||||
| 12.08.2015, 03:28 | |
|
Ответы с готовыми решениями:
21
Все виды(способы) объявления переменных, функций, классов, типов и т.п. на С++
|
|
70 / 64 / 40
Регистрация: 17.02.2014
Сообщений: 265
|
|
| 12.08.2015, 03:34 | |
Сообщение было отмечено Ilot как решение
Решение
Оба объявления эквивалентны - используйте то, что удобнее для вас.
1
|
|
|
4 / 4 / 0
Регистрация: 26.10.2014
Сообщений: 105
|
|
| 12.08.2015, 03:40 [ТС] | |
|
Благодарю!
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||
| 12.08.2015, 09:30 | ||
Сообщение было отмечено BumerangSP как решение
РешениеКогда же ввели новое ключевое слово typename (для других целей), то разрешили его и здесь использовать как более подходящее. Вот у Алены про это. Из этой записи видно, что в этом качестве новое ключевое слово не сразу прижилось.
1
|
||
|
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
|
||||||
| 12.08.2015, 09:37 | ||||||
|
Alexey104, кстати говоря, при вызовах функциональных шаблонов не обязательно указывать точный тип шаблона. Типы переменных выводятся сами. Так что вызов функции можно оформить классически:
1
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 12.08.2015, 10:05 | ||
|
однако, 'typename' обозначает тип (любой, например - int) в то время, как 'class' предполагает что T - это все таки именно какой то класс, или структура. в итоге, некоторые люди используют всегда 'class'. другие - всегда 'typename' а некоторые, как я: использую 'typename', если шаблон рассчитан для работы с любыми типами, либо 'class' если ожидаются только пользовательские типы.
1
|
||
|
Неэпический
|
|||||||
| 12.08.2015, 10:11 | |||||||
|
Однако, стоит отметить, что если параметр шаблона сам по себе является шаблоном, то там синтаксис требует class:
1
|
|||||||
| 12.08.2015, 10:18 | |
|
Не по теме: Croessmah, Пока да, однако в С++1z будет можно и typename.
0
|
|
| 12.08.2015, 10:20 | |
|
Не по теме: ForEveR, можно ссылочку на источник? :)
0
|
|
| 12.08.2015, 10:23 | ||
|
Не по теме: ForEveR, уже нашел. Да, в новом черновике так:
0
|
||
| 12.08.2015, 10:38 | |
|
Не по теме: Croessmah, эта штука кстати реализована в gcc и clang. Так что уже можно пользоваться. Даже без ключа с++1z будет всего лишь ворнинг, не ошибка.
0
|
|
| 12.08.2015, 10:41 | |
|
Не по теме: ct0r, warning тоже не приятен :) тем более, у меня чаще всего -pedantic-errors
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||
| 12.08.2015, 11:06 | ||||||||
|
http://rextester.com/EVJGFY86580
а роббит это и в студийном компиляторе тоже
0
|
||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 12.08.2015, 11:07 | ||||||
|
hoggy, Не тот кейс.
Попробуй
1
|
||||||
| 12.08.2015, 12:12 | |
|
0
|
|
|
4 / 4 / 0
Регистрация: 26.10.2014
Сообщений: 105
|
||||||
| 12.08.2015, 19:37 [ТС] | ||||||
|
Всем спасибо за участие!
Тему усёк. Добавлено через 2 часа 6 минут Хотелось бы вернуться к вопросу. Увидел в некоторых кодах что-то типа этого:
Желательно с простенькими примерами. Добавлено через 1 час 17 минут С этим разобрался, проехали. Появился новый вопрос: при попытке откомпилировать код, содержащий шаблон с параметрами по умолчанию, gcc выдаёт следующее сообщение: ошибка: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11 Что такое '-std=c++11' и '-std=gnu++11' ?
0
|
||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|||
| 12.08.2015, 20:10 | |||
|
Добавлено через 48 секунд
1
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 12.08.2015, 20:11 | ||
|
они сообщают компилятору, что необходима поддержка с++11. (относительно новый стандарт языка) дело в том, что в более ранних версиях стандарта, параметры по умолчанию для функций не поддерживались. их поддержка началась с с++11. компилятор говорит вам: вы не указали эти ключи, а значит он пытается компилировать по более раннему стандарту, и там это не работает. если хотите, что бы работало, нужно указать ключик.
1
|
||
|
4 / 4 / 0
Регистрация: 26.10.2014
Сообщений: 105
|
|||||||
| 13.08.2015, 18:53 [ТС] | |||||||
|
Спасибо, добрые Люди!
С ключиками компилируется успешно. Добавлено через 22 часа 39 минут В очередной раз возвращаясь к вопросу: Интересна данная возможность языка:
Как создать объект класса 'Object2', содержащий конкретизированный шаблон класса 'Object1' в качестве переменной-члена?
0
|
|||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
| 13.08.2015, 18:57 | |||||||||||
1
|
|||||||||||
| 13.08.2015, 18:57 | |
|
Помогаю со студенческими работами здесь
20
Какие способы самые удобные/рациональные способы регистрации ошибок есть?
Gtest, доступ к элементам базового класса-шаблона без указания параметров шаблона. баг или фича? Определение метода-шаблона за пределами шаблона класса Редактирование шаблона сайта и шаблона письма Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|