首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么设计一个可变参数个数的模板

2012-08-02 
如何设计一个可变参数个数的模板类似一个excel表格的一行, 每个单元格类型可以不一致, 每行的单元格数量不

如何设计一个可变参数个数的模板
类似一个excel表格的一行, 每个单元格类型可以不一致, 每行的单元格数量不定
对于类型可以用模板实现, 可变数量的话怎么办呢

或者说为了实现这个功能,有没有别的思路。

[解决办法]
以前写数据库的时候考虑过这个问题,即如何写插入函数(一条记录若干字段,字段类型均可不同). 模板由于无法动态定义参数数量所以无法解决. 我可以提供一种思路:将所有参数当做字符串来处理,加一组参数来定义每个字串的类型,比如整形浮点或者字符串.
比如函数 
void method(string paras[],int types[],int length){
for(0~length){
switch(types[i])
{
case INT:
int para=atoi(paras[i].c_str()),
...
break; 
case FLOAT:
...
break; 
}
}
}
调用:
string user[]={"1","张三","男","55.8"};//编号,姓名,性别,体重
int types[]={INT,STRING,CHAR,FLOAT};
method(user,types,4);

此外也可以直接用map键值对
void method(map<string,int> paraMap)
调用:
map<string,int> user;
user.insert("1",INT);
user.insert("张三",STRING);
...
[解决办法]
Code Generation
[解决办法]
c++1x有变长参数模板

热点排行