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

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

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

Протер глаза о Прата, не могу доехать в чем разница между созданием экземпляра и специализацией. Черканите волшебное слово, что бы сразу все понятно стало. )))
http://www.cyberforum.ru/cpp-beginners/thread1278746.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2015, 06:56
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Шаблоны. В чем разница между созданием экземпляра и специализацией? (C++):

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

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

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

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

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

44
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,124
Записей в блоге: 5
19.09.2015, 18:33 #41
Цитата Сообщение от Mr.X Посмотреть сообщение
IGPIGP, т.е. вы опять запутались!
Ничуть. Это по внутренним ощущениям. Если покажете где, тогда соглашусь. А слово "проводит" неудачно. Я потом перечитывая прочёл его как "производит" и не стал исправлять. А стоило бы так как специализация это не процесс, а объект (результат). На английском оно среднего рода, на русском - женского. Может поэтому хочется воспринимать как процесс эту специализацию.
Цитата Сообщение от Mr.X Посмотреть сообщение
специализацию как альтернативное определение (версию) шаблона он называет пользовательской специализацией.
И ещё явной: explisit
Главное, что он определяет специализацию как результат инстанциации(!) То есть это описание класса и значит уже не должно быть частичным. Нельзя же определить "примерно целое" - "about int"?
Я понимаю о чём говорит hoggy и он это не придумал. То есть путаница таки есть.
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,920
Записей в блоге: 3
Завершенные тесты: 1
19.09.2015, 18:36 #42
Цитата Сообщение от Mr.X Посмотреть сообщение
.е. в разных учебниках довольно разная терминология получается.
http://www.cyberforum.ru/cpp-beginne...ml#post4542912
0
ct0r
Игогошка!
1784 / 686 / 43
Регистрация: 19.08.2012
Сообщений: 1,323
Завершенные тесты: 1
19.09.2015, 18:41 #43
В стандарте нет никакой "полной специализации". Есть только "явная специализация". Мы же ее называем полной, чтобы путаницы было меньше.
0
Mr.X
Эксперт С++
3178 / 1705 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
19.09.2015, 21:01 #44
IGPIGP, несерьезные вы с hoggy люди и неприлежные страуструповцы. Тот ушел в раскол и отказывается принимать терминологию Страуструпа и потихоньку кропает какую-то свою, а вы упорно путаете специализацию с пользовательской специализацией, хотя очевидно, что это совершенно разные вещи.
В общем, я отказываюсь вести с вами обоими эту дискуссию, пока не освоите терминологию старика Страуструпа и не принесете ему письменные извинения за свою неприлежность.
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7004 / 3297 / 448
Регистрация: 04.12.2011
Сообщений: 9,124
Записей в блоге: 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
Привет! Вот еще темы с решениями:

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

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

В чем разница между random и randomize?
в чем разница между random и randomize??

В чем разница между Debug and Release?
Какие действия выполняет debug в Visual studio и какие Release, в чем разница?...


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

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

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