http://www.synch3d.com/wiki/moin/moin.cgi/template?action=LikePages
함수 템플릿
컴파일러는 각 invocation에서 사용되는 arguments의 타입에 따라서 swap의 구별된 특수화들을 인스턴스화한다://template <class T> void Swap(T &a, T &b) // class와 typename에 의미의 차이는 없다. template <typename T> void Swap(T &a, T &b) { T t; t=a; a=b; b=t; }
헤더와 소스로 분리하기
// swap.h template <typename T> void Swap( T&a, T&b); template <> void Swap<float>(float&a, float&b); // 이건 명시적 특수화, 확장되어 사용되는것을 미리 선언. export 키워드 없이 분리하는 법 template <> void Swap<int>(int &a,int &b); // 이것도 마찬가지 ...
// swap.cpp #include "swap.h" template <> void Swap<int>(int&a, int&b) // 이놈의 특수화된 템플릿 함수 { int t; t=a;a=b;b=t; } template <> void Swap<float>(float&a, float&b) // 이놈의 특수화된 템플릿 함수 { float t; t=a;a=b;b=t; }
반응형
'프로그래밍(Programming) > c++, 11, 14 , 17, 20' 카테고리의 다른 글
rand() 함수에 대해서... (0) | 2013.02.01 |
---|---|
날짜와 시간에 대한 함수 (0) | 2013.02.01 |
COleVariant Class 구조를 이용한 형변환 (0) | 2013.01.28 |
GetAsyncKeyState 깔끔한 정리 (0) | 2013.01.23 |
콘솔화면 함수 , setw() 출력공간 확보 , setprecision() : 소수점 자릿수, etc.. (0) | 2012.12.28 |