我是C++ std::set用户的新手。
这里的问题是:我在main函数中初始化了一个set,我想插入一个
元素通过调用一些函数。但这似乎不起作用。
是关于通过引用 call 还是其他方式?谢谢!
#include <iostream>
#include <set>
using namespace std;
void f(set<int> myset){
set<int>::iterator it;
// insert element
for(int i=1;i<11;i++){
myset.insert(i*10);
}
}
int main ()
{
set<int> myset;
set<int>::iterator it;
f(myset);
//output element
for(it=myset.begin();it!=myset.end();it++){
cout<<*it<<" ";
}
return 0;
}
最佳答案
没错,您需要通过引用传递,否则您将修改集合的本地副本:
void f(set<int>& myset)
{ // ^
for(int i = 1; i < 11; i++)
myset.insert(i*10);
}
关于c++ - 如何通过调用函数(按引用调用)来更改std::set元素?在C++中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19364595/