본문 바로가기

std::tuple

[C++11] std::pair를 확장한 std::tuple Boost에 존재하던 tuple이 C++ 표준으로 채택되었습니다. C++ TR1부터 사용이 가능해졌지만 C++11에 분류한 것은 이전에 작성한 가변인자 템플릿때문입니다. tuple은 기존의 std::pair를 확장한 자료형입니다. std::pair가 2개의 값을 한 번에 저장할 수 있지만 tuple은 제한이 없습니다. 기존의 C++ TR1에서는 10개까지 저장이 되었습니다. tuple은 2개 이상의 값을 한 번에 반환하거나 전달할 때 사용하면 유용합니다. 물론 구조체를 통해서 가능한 방법이긴 하지만 구조체는 정의를 해서 사용해야 합니다. tuple을 이용하면 간단하게 다양한 값들을 한 번에 전달이 가능하게 됩니다. 예제 코드는 다음과 같습니다. #include #include #include int ma.. 더보기
[C++11] 가변인자 템플릿(Variadic Templates) C와 C++에는 가변인자 함수가 존재합니다....이라는 생략 부호를 사용하는 특이한 형태의 함수입니다.C/C++에는 대표적인 가변인자 함수인 printf가 존재합니다. 가변인자 함수에 대해서는 아래의 링크를 참조하시면 됩니다.2014/12/07 - [Programming/C&C++] - 가변 인자 함수의 사용법(vprintf, vsprintf)2014/12/07 - [Programming/C&C++] - 가변 인자(Variable Arguments) 내부 구조C++11에는 가변인자를 템플릿에도 적용이 가능하게 되었습니다.가변인자 템플릿은 다음과 같은 형식으로 되어 있습니다. template returntype functionname(Arguments... args); template class class.. 더보기