是否有任何语法硬编码向量作为参数
Is there any syntax to hardcode vector as parameter?
例如,我可以像这样硬编码数组作为参数:
void test(pair<string,int> v[],int size){
for(int i=0;i<size;i++){
printf("%s %dn",v[i].first.c_str(),v[i].second);
}
}
int main(){
test((pair<string,int>[]){make_pair("a",1),make_pair("b",2)},2);
return 0;
}
这样我就不需要创建v[]对的临时变量,也不需要担心临时变量的变量名,如果使用vector:
是否有类似的语法void test(vector<pair<string,int> > v){
for(pair<string,int> p : v){
printf("%s %dn",p.first.c_str(),p.second);
}
}
?
因为c++ 11在std::initializer_list
的帮助下引入了列表初始化(不要与构造函数初始化列表混淆),你确实可以使用std::vector
(它已经被修改为有一个接受std::initializer_list
的构造函数),你可以简单地做
test({{"a",1), {"b",2}});
相关文章:
- 我使用向量来创建类对象列表.初始化向量时如何使用参数调用构造函数?
- 标准::向量声明中使用的模板参数
- 使用 C++ 将命令行参数拆分为参数/向量
- 如何在 c++ 中定义接受不同参数类型的函数向量?
- 如何将向量中的可变参数转换为参数的持有者?
- C++向量默认为成员参数
- 使用向量初始化参数化构造函数的对象数组
- 有什么方法可以将具有不同模板参数的模板类实例放入向量中?
- OpenCL 是否支持向量作为内核参数?
- 使用并行参数向量调用元素向量的成员函数
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 将不同类型的模板参数包提取到双精度向量中会产生警告
- 如何从 node-ffi 调用 c++ 中以结构向量作为参数的方法?
- 将任意模板向量作为函数参数C++传递
- 为什么我们需要在优先级队列声明中添加一个向量作为参数?
- 如何使用非特异性类型制作向量参数
- C++ 类中的向量参数
- 采用向量参数的函数模板回文
- 将向量参数为空传递
- C++和python:向量参数的TypeError解析