[c++11]可变参数函数模板

#include <iostream>
#include <vector>

std::vector<void*> arg_list;

void push_args(){
    for(auto &arg:arg_list){
        std::cout << std::hex << arg << std::endl;
    }
}

template<typename T, typename ...Args>
void push_args(T &t1, Args&... last ){
    arg_list.push_back(&t1);
    push_args(last...);
}

int main()
{
    double t1=0;
    float t2=0;
    int t3=0;
    std::cout << std::hex << &t1 << std::endl;
    std::cout << std::hex << &t2 << std::endl;
    std::cout << std::hex << &t3 << std::endl;

    std::cout << "==========" << std::endl;

    push_args(t1,t2,t3);

    return 0;

}

猜你喜欢

转载自blog.csdn.net/adream307/article/details/81975651