Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
anti-k
227 / 75 / 31
Регистрация: 17.07.2015
Сообщений: 774
Завершенные тесты: 1
1

Шаблоны. В чем разница между созданием экземпляра и специализацией?

17.09.2015, 06:56. Просмотров 1299. Ответов 44
Метки нет (Все метки)

Протер глаза о Прата, не могу доехать в чем разница между созданием экземпляра и специализацией. Черканите волшебное слово, что бы сразу все понятно стало. )))
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2015, 06:56
Ответы с готовыми решениями:

В чем разница между явной специализацией и инстанциацией?
В чем разница между явной специализацией и инстанциацией? Желательно, подробно.

Шаблоны. В чем разница?
В чем разница между этими объявлениями? Вроде и так можно и этак. А как...

В чем разница между X x; и X x()?
Корректный ли этот ответ?

В чем разница между [] и * ?
Думал, что ни в чем, но когда попытался сделать так: (в файле 1) char lc; в...

В чем разница между С и С++
Возник вопрос в чем жи разница между С и С++ кроме того, что в С++ есть классы...

44
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7059 / 3362 / 455
Регистрация: 04.12.2011
Сообщений: 9,350
Записей в блоге: 5
19.09.2015, 18:33 41
Цитата Сообщение от Mr.X Посмотреть сообщение
IGPIGP, т.е. вы опять запутались!
Ничуть. Это по внутренним ощущениям. Если покажете где, тогда соглашусь. А слово "проводит" неудачно. Я потом перечитывая прочёл его как "производит" и не стал исправлять. А стоило бы так как специализация это не процесс, а объект (результат). На английском оно среднего рода, на русском - женского. Может поэтому хочется воспринимать как процесс эту специализацию.
Цитата Сообщение от Mr.X Посмотреть сообщение
специализацию как альтернативное определение (версию) шаблона он называет пользовательской специализацией.
И ещё явной: explisit
Главное, что он определяет специализацию как результат инстанциации(!) То есть это описание класса и значит уже не должно быть частичным. Нельзя же определить "примерно целое" - "about int"?
Я понимаю о чём говорит hoggy и он это не придумал. То есть путаница таки есть.
0
Croessmah
++Ͻ
14630 / 8379 / 1582
Регистрация: 27.09.2012
Сообщений: 20,583
Записей в блоге: 2
Завершенные тесты: 1
19.09.2015, 18:36 42
Цитата Сообщение от Mr.X Посмотреть сообщение
.е. в разных учебниках довольно разная терминология получается.
Что такое шаблоны в C++?
0
ct0r
Игогошка!
1789 / 690 / 44
Регистрация: 19.08.2012
Сообщений: 1,340
Завершенные тесты: 1
19.09.2015, 18:41 43
В стандарте нет никакой "полной специализации". Есть только "явная специализация". Мы же ее называем полной, чтобы путаницы было меньше.
0
Mr.X
Эксперт С++
3180 / 1707 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
19.09.2015, 21:01 44
IGPIGP, несерьезные вы с hoggy люди и неприлежные страуструповцы. Тот ушел в раскол и отказывается принимать терминологию Страуструпа и потихоньку кропает какую-то свою, а вы упорно путаете специализацию с пользовательской специализацией, хотя очевидно, что это совершенно разные вещи.
В общем, я отказываюсь вести с вами обоими эту дискуссию, пока не освоите терминологию старика Страуструпа и не принесете ему письменные извинения за свою неприлежность.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7059 / 3362 / 455
Регистрация: 04.12.2011
Сообщений: 9,350
Записей в блоге: 5
19.09.2015, 21:43 45
Mr.X, я всего лишь читаю. Вот как Страуструп называет тип полученный компилятором из шаблона при подстановке фактических праметров:
Цитата Сообщение от Mr.X Посмотреть сообщение
This process is commonly called template instantiation.
Инстанциация. В русских переводах прижилось "инстанцирование".
Цитата Сообщение от Mr.X Посмотреть сообщение
The generated classes and functions are called specializations.
Результатом инстанцирования (то что называют инстансом) Страуструп называет специализацией.
Цитата Сообщение от Mr.X Посмотреть сообщение
When we need to distinguish between generated specializations and specializations explicitly written by the programmer (§25.3), we refer to generated specializations and explicit specializations, respectively. An explicit specialization is often referred to as a user-defined specialization, or simply a user specialization.
Что бы разграничить специализации - результата генерирования (компилятором) и явно написанную программистом мы прибегаем к "генерируемой" и "явной", соответственно. Явная специализация часто указывается как пользователь-определяемая (не ржать, - сам страдаю, но пытаюсь дословно...) или просто пользовательская. Так в чём же разница между пользовательской и явной? Одно и то же.
Как результат, неразличимы и "генераторная" и "кастомная". Они отличаются процессом получения результата и это различие определено и даны названия.
А вот частичной инстанциации (ирования) быть не может. У датчан и англичан, - точно. А у русских, - легко. Чем плох инстанса кусок например?
0
19.09.2015, 21:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2015, 21:43

В чем разница между new и malloc()?
Всем доброго дня ! Начал читать книгу Пахомов Б. "C/C++ и MS Visual C++ 2008...

В чем разница между malloc и new?
в чем разница? что лучше использовать?

В чем разница между Double и Float?
Хмм? :(


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru