C++11标准——变长参数模板

来源:互联网 发布:宁波最新房价走势知乎 编辑:程序博客网 时间:2024/05/16 02:37

举个栗子
test.cpp

#include<iostream>#include<vector>using namespace std;int SetDims(vector<int> temp){  int size=1;  for(int i = 0; i < temp.size(); ++i){    size*=temp[i];  }  return size;}int SetDims(int i){  return i;}int SetDims(int i, int j){  return i*j;}int SetDims(int i, int j, int k){  return i*j*k;}template<typename... Ts>void resize(Ts... dim){  int size = SetDims(dim...);  std::cout << size << std::endl;}int main(){  resize(2);  resize(2,3);  resize(5,4,2);  vector<int> temp;  temp.push_back(1);  temp.push_back(22);  temp.push_back(11);  temp.push_back(2);  resize(temp);  return 1;}

makefile

all:    g++ -o test test.cpp -std=c++11
0 0