C++ 如何通过调用函数(通过引用调用)更改std::set元素?在c++;
问题是:我在main函数中初始化了一个集合,我想插入一个 元素,通过调用某个函数。但它似乎不起作用 是关于电话咨询还是其他什么?谢谢C++ 如何通过调用函数(通过引用调用)更改std::set元素?在c++;,c++,set,pass-by-reference,C++,Set,Pass By Reference,问题是:我在main函数中初始化了一个集合,我想插入一个 元素,通过调用某个函数。但它似乎不起作用 是关于电话咨询还是其他什么?谢谢 #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++){
#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;
}
#包括
#包括
使用名称空间std;
void f(设置myset){
set::迭代器;
//插入元素
对于(int i=1;i您是对的,您需要通过引用传递,否则您将修改集合的本地副本:
void f(set<int>& myset)
{ // ^
for(int i = 1; i < 11; i++)
myset.insert(i*10);
}
void f(set和myset)
{ // ^
对于(int i=1;i<11;i++)
myset.insert(i*10);
}
To OP:根据经验,当您希望被调用函数修改调用函数中的某些值时,需要传递引用(或指针)。按值传递意味着“复制”