ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Template (1) 함수 템플릿
    @ 16. 1 ~ 17. 1/C++ 2013. 1. 29. 00:14

    Template<typename T>

    T Add(T num1, T num2)

    {

    return num1 + num2;

    }

    이런식으로..

    함수 템플릿..

     

    보통 Add<int>(3,5) 이런식으로

    <int> -> <typename T>를 명시해주는 편이다.

    cout << Add<int>(3,5) << endl;

     

    이런식으로도..가능하다..

    Template<typename T1, typename T2>

    void ShowData(T1 num1, T2 num2)

    {

    cout << (T1)num1 << (T2)num2 << endl;

    }

    를 이런식으로.. ShowData<char, int>('c',4); 사용이 가능하다..

    출력물은 c4 이렇게..나오고

     

    함수 템플릿의 특수화

    Template<typename T>

    T Max(T a, T b)

    {   

    return a > b ? a : b;

    }

    이런 함수가 있을떄..

    Max("Simple","Best");

    이런것은..Best가 출력이 된다..

    그래서 이것은 이것에 맞는 특수화가 필요하다는것..

    저 함수 아래

    Template<>

    char *Max(char *a, char *b)

    {   

    return strlen(a) > strlen(b) ? a : b;

    }

    이런식으로 만들어놓으면.. char *형 템플릿이 필요하면 이것으로 사용하겠다 ..라는것

    뭐..

    Template<>

    int Max(int a, int b)

    {

    return 10;

    }

    이런식으로 int때는 이렇게 사용하면된다고 해도된다..이것이 바로 특수화..


    지금 포인터 때문에 괴리감에 빠졌다..

    이해가 된줄알았는데..

    전혀 이해를 못하고 있던상태..

    구입해놓고 제대로 못본..처음만 보다가 오 이정도만 이해ㄷ하면 되겠지 스스로 타협..그래서 이지경이 온듯..

     


    열혈강의 C 포인터

    저자
    공동환 지음
    출판사
    프리렉 | 2006-01-12 출간
    카테고리
    컴퓨터/IT
    책소개
    C언어 입문서. 이 책은 C입문자들이 어려워하는 C포인터를 중점...
    가격비교

    이책을 좀 봐야겠다....ㅠ

    '@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글

    Template (3) 클래스 템플릿 특수화  (0) 2013.01.29
    Template (2) 클래스 템플릿  (0) 2013.01.29
    비트연산자, 함수포인터, ctime  (0) 2013.01.27
    잊기전 정리..  (1) 2013.01.17
    파일 입출력 관련  (0) 2013.01.13
Designed by Tistory.