일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- C++ library
- OS
- 연결리스트
- Docker
- C++
- 자료구조
- c++ heap
- gui
- JUCE
- 프로그래밍
- vim-go
- 운영체제
- JUCE 튜토리얼
- LOB
- 백준
- go channel
- JUCE라이브러리
- 코딩
- go
- Nebula
- C언어
- JUCE library
- a tour of go
- BOJ
- 공룡책
- 리듬게임
- tour of go
- C++ gui 라이브러리
- 알고리즘
- C++ gui
Archives
- Today
- Total
CafeM0ca
[C++]템플릿 본문
반응형
템플릿은 편리하며 유용하다.
사용법
template <typename T> or template <class T> //같은거다.
T는 자료형이다. T가 int면 모든 T는 int로 치환된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include<iostream> using namespace std::cout template <typename T> void PrintNum(T n){ cout << n << '\n'; } int main(void){ PrintNum(1); PrintNum(1.0); PrintNum('1'); return 0; } | cs |
위의 코드를 치면서 의문점이 생겼다.
3번째 PrintNum을 인자로 "111"을 주게 되면 과연 T의 자료형은 뭐가 될까?
추론해보면 2가지가 있다.
1. string
2. char형 배열
string이 될 수는 없다! 왜냐하면 #include<string>이 없기 떄문. 따라서 2번이 맞다.(실제로 확인해보니 맞기도 하고)
하나의 프로그래밍 단위에서 동일한 데이터형에 대해 명시적 구체화와 명시적 특수화를 함께 사용하면 안 된다.
+향후 추가
반응형
'Programming > C++' 카테고리의 다른 글
[C++]class static 멤버변수 (0) | 2018.01.06 |
---|---|
[C++]mutable (0) | 2018.01.04 |
[C++] 런타임 과정에서의 입력 값 (0) | 2017.12.02 |
[C++]inline (0) | 2017.11.29 |
[C++]함수 포인터 (0) | 2017.11.29 |
Comments