gpt4 book ai didi

c++ - 如何通过调用函数(通过引用调用)来更改 std::set 元素?在 C++ 中

转载 作者:行者123 更新时间:2023-11-30 02:51:55 26 4
gpt4 key购买 nike

我是 c++ std::set user 的新手。

这里的问题是:我在主函数中初始化了一个集合,我想插入一个通过调用一些函数来获取元素。但这似乎不起作用。

是关于引用调用还是其他什么?谢谢!

#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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com