Advanced Template and STL
Template parameter 값에 디폴트 값을 주고 싶다! (주로 크기가 3인데 계속 인자로 3을 넣어주기 귀찮다!)
Default template argument로 아무 인자도 안 주었을 때 default 값을 specialized 하게 된다.
주의할 점 :
Type은 항상 일정하고, Size(정수를 담는 변수)만 변화할거야! 이럴 때 생기는 문제점. 인자를 넘기는 것을 생각할 때 인자의 위치를 가지고 생각하게 된다. 위치, 순서를 인식하여 파라미터와 인자가 매핑되는 것에서 오류가 생길 수 있다.
따라서, Default parameter는 뒤에 넣어지게 된다.
Default parameter가 하나 있을 때, 그 인자 뒤로는 모두 Default인 것이다. 또한 Default argument가 나오고, 어떤 값인지 Default값이 없을 경우에는 그 앞에 있는 Default argument의 값으로 넣어지게 된다.
"Type은 항상 일정하고, Size(정수를 담는 변수)만 변화할거야!" 이럴거면 Ksize를 Type보다 앞에 두면 해결된다.
Lack of type information in a template
해결 : Nested template (어떤 타입인지 다 알 수 있도록 모두 풀어서 쓴다.)
Handling variadic arguments
variadic = 가변성
여러 개의 인자를 받아서 함수를 생성할 수 있다.
foo(int x, int ... rest) int... rest를 parameter pack이라고 한다.
Iterator and Algorithm in STL
Iterator
'[Computer Science] -보호글 > [객체지향설계]' 카테고리의 다른 글
[객체지향설계] 기말 정리 (0) | 2023.12.13 |
---|---|
[객체지향설계] 12/05 이론 (0) | 2023.12.05 |
[객체지향설계] 11/14 이론 (0) | 2023.11.14 |
[객체지향설계] 11/7 이론 (0) | 2023.11.07 |
[객체지향설계] 10/31 이론 -Design Pattern (0) | 2023.10.31 |