0 / 0 / 1
Регистрация: 20.01.2016
Сообщений: 45
|
||||||
1 | ||||||
Создание экземпляра шаблона класса22.03.2016, 00:34. Показов 5150. Ответов 22
Метки нет (Все метки)
Есть код:
0
|
22.03.2016, 00:34 | |
Ответы с готовыми решениями:
22
Явное создание экземпляра класса и явная специализация шаблона класса Создание нового экземпляра дочернего класса из экземпляра базового Пример класса с конструктором и деструктором, создание экземпляра класса через конструктор с параметрами Создание экземпляра класса до определения класса |
jdzvk
|
22.03.2016, 02:42
Создание экземпляра шаблона класса
#21
|
Не по теме: м. всякое интересненькое.
0
|
Вездепух
11696 / 6375 / 1724
Регистрация: 18.10.2014
Сообщений: 16,071
|
|||||||||||
22.03.2016, 03:08 | 22 | ||||||||||
Ничего не понятно. Инстанциирование всегда происходит в каком-то контексте.
Речь идет о том, что вот в таком случае
template <typename T> struct SomeClass и с шаблоном функции template <typename T> void SomeClass::foo() . Инстанциироваться они будут (или не будут) независимо друг от друга. В частности инстаницация первого не влечет автоматической инстанциации второго. Именно по этой причине вы можете писать в шаблонах классов "некорректные" определения методов, при условии, что их "некорректность" зависит от параметра шаблона. Инстанциация самого класса не вызывает инстанциации методов. По этой причине некорректность определений методов не будет приводить к ошибкам компиляции. (Пока вы не попытаетесь инстациировать сам метод, например, вызвав его.) Например, вот такой код является корректным
SomeClass<char> и int SomeClass<char>::bar() , но не int SomeClass<char>::foo() . Поэтому ошибки не возникает.
0
|
jdzvk
|
22.03.2016, 03:40
Создание экземпляра шаблона класса
#23
|
Не по теме: ага.
0
|
22.03.2016, 03:40 | |
Создание экземпляра класса Создание экземпляра класса Создание экземпляра класса из DLL Предотвратить создание экземпляра класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |