C++ 模板参数包

模板参数包

介绍

  • 模板参数包是一种模板元编程技术,允许模板函数或者模板类接受可变数据的参数,这些参数被称为参数包。分为模板参数包和函数参数包
    • 模板参数包表示零个或多个模板参数
    • 函数参数包表示零个或多个函数参数。
  • 省略号用于指示一个模板参数包或函数参数包,在函数调用时,编译器会将这些参数打包成一个对象,以便在函数中使用

作用

  • 允许定义具有形参数量可变的模板和函数

代码

#include<iostream>
#include<string>

template<typename T>
void print(const T&t)
{
    std::cout << t << std::endl;
}

template <typename T, typename... Args>
void print(const T& t, const Args&... args)
{
    std::cout << t << ",";
    print(args...);
}

int main()
{
    print(1,2,3.5, "hello", 'c');
    return 0;
}
posted @ 2023-10-09 16:30  王清河  阅读(94)  评论(0编辑  收藏  举报