가변인자 템플릿

DongWook Lee·2024년 7월 18일

C++

목록 보기
6/18
  1. 템플릿 매개변수 팩 (Template parameter packs)
  2. 함수 매개변수 팩 (Function parameter packs)
  3. 팩 언패킹 (Unpacking a pack)
  4. 재귀 (Recursion)
#include <iostream>
using namespace std;

template <typename T>
void show_list(const T& value) {
    cout << value << "\n";
}

template <typename T, typename... Args>                 // Args: 템플릿 매개변수 팩
void show_list(const T& value, const Args&... args) {   // args: 함수 매개변수 팩
    cout << value << ", ";

    // Recursion (재귀)
    show_list(args...);                                 // args... : 팩 언패킹
}

int main() {
    show_list(1, 2, 3, 4);
}

0개의 댓글