2012-05-17 4 views
0

Можно создать дубликат:
What is the difference between a template class and a class template?Шаблон класса Vs Шаблон класса

я видел this вопрос и я также видел принятый ответ. затем я гугл немного и нашел ниже here

шаблон класс Vs класса Шаблона

Шаблона класса: Общее определение или параметризованный класс не инстанцирован до тех пор, пока клиент не обеспечивает необходимую информацию; жаргон для простых шаблонов

Шаблон класса: шаблон класса определяет, как отдельные классы могут быть построены так же, как класс указывает, как можно создавать отдельные объекты; жаргон для обычных классов

Теперь я путаюсь, который один истинно

+0

IMHO принятый ответ на этот вопрос довольно ясен и технически корректен. – Jon

ответ

3

В C++ нет такого понятия, как шаблон класса. Есть только шаблоны классов.

То есть, буквально, шаблоны для создания классы.

template <typename T> std::vector<T> не является классом, например. Это шаблон, из которого, если вы предоставите соответствующий T, класс может быть сгенерирован.

Конечно, люди часто говорят, «шаблон класс», когда они означают «шаблон класса, так что нет никакой разницы. Но формально, она существует в C++, а другие нет.

2

на английском языке, заказ обычно модификатор-модифицированные, так класса шаблона это шаблон, который определяет класс, в котором в качестве шаблона класса является классом, который определяется шаблоном — конкретизации шаблона класса, другими слова В первые дни некоторые из литературы использовали это различие, но в какой-то момент , люди, работающие по стандарту, решили, что это может ввести в заблуждение, и решил использовать термин экземпляр систематически, где подразумевалось создание шаблона . Таким образом, на языке стандарта вы будете никогда не увидите «класс шаблона» (если случайно не поскользнулся). (В расширенном контексте «класс шаблона» может относиться к классу, который реализует или управляет каким-то «шаблоном». В моем текущем приложении у меня есть, например, class Template {...};. Это имеет , что не имеет ничего общего с C++.)

Смежные вопросы