[Develop] Native/C++ , C
[C,C++] Variadic Template
mouse-david
2018. 5. 17. 12:28
728x90
C++ 11부터 가변인자 템플릿(Variadic Template)이라는 개념이 추가되어 간략하게 메모해본당.
https://msdn.microsoft.com/ko-kr/library/dn439779.aspx
Ellipsis and Variadic Templates
Learn more about: Ellipsis and Variadic Templates
docs.microsoft.com
개념은 개념이고,, 그래서 좋은 것 뭐있나 찾아보니..
C++ 11부터 STL 컨테이너가 가변인자 템플릿를 활용하여 성능적으로 유리해졌다는 것인데,
void emplace_back( Args&&... args );
상기 함수 원형을 활용할 경우, 이동생성자를 호출함으로 할당의 로드가 줄어들어 성능의 이점이 있다는 말!
https://msdn.microsoft.com/ko-kr/library/dd293665.aspx
How to: Define move constructors and move assignment operators (C++)
Learn more about: Move Constructors and Move Assignment Operators (C++)
docs.microsoft.com
이동생성자가 속도 때문에 고려되었는데, 가변인자 템플릿과 만나서 좋은 시너지를 만들어 내는군요.
손에 익지않아서 push_back을 먼저 치게되는 것은 함정
728x90