What is the difference between a template class and a class template?
What is the difference between a template function and a function template?
출처에 대한 내용을 간단하게만 적어본다.
green house라고 하면 여기서 주체는 house다.
다시 말해, 초록색 집이라고 말하면 [초록색깔의 "집"]을 의미하는 것이지 [집이 보유하고 있는 "초록색"]을 의미하는 것은 아니다.
그러므로 template function이라 함은 "함수"를 의미하는 것이고,
function template이라 함은 "template"을 의미하는 것이다.
마찬가지로 template class는 "class"를 의미하는 것이고,
class template은 "template"을 의미하는 것이다.
1 2 3 4 | template <typename T> T add(T a, T b) { return a+b; } | cs |
위의 코드에서 add를 template이라고 한다.
그런데 어떤 종류의 template일까?
위의 코드는 함수를 정의한 것이다.
그러므로 add는 함수 템플릿(function template)이다.
1 | add<int>(1,2); | cs |
그럼 위의 코드는 뭘까?
위에서 add는 함수이다.
함수이므로 ()연산자를 사용하여 호출하였다.
그런데 <> template이 쓰였으므로 add는 template function이다.
끝.
'Programming Languages > C++14' 카테고리의 다른 글
C/C++ Format Specifier 간단 정리 (0) | 2016.12.08 |
---|