c++ - 使用复制算法从向量复制到集合
问题描述
作为一种纯粹的学习体验,我希望能够使用该copy
算法从一个向量复制到一个集合。这就是我想要做的:
vector<int> myVector = {0, 1, 1, 2, 2, 3, 3, 4, 5, 6};
// set<int> mySet(myVector.begin(), myVector.end());
// This works, no issues
set<int> mySet;
copy(myVector.begin(), myVector.end(), some_inserter_that_will_work(mySet));
在网络上的某个地方,有人建议该inserter
函数可以工作,但它给了我以下编译错误:
错误:没有匹配的函数调用'inserter(std::set&)'</p>
解决方案
您需要以std::inserter
这种方式使用,将插入位置指示为第二个参数:
copy(myVector.begin(), myVector.end(), inserter(mySet, mySet.end()));
推荐阅读
- visual-studio-code - 自动完成功能会阻止建议
- python - 验证二次方程是否有根的程序
- python - telegram-python-bot ImportError 没有名为“密码学”的模块 Alpine Docker
- celery - 如何监控单个 celery 任务的内存使用情况?
- node.js - 如何修复:类型“Window”不可分配给类型“typeof globalThis”
- reactjs - 基于返回布尔值的异步函数在jsx中渲染组件
- r - 按最小值选择行并合并
- react-native - ReactNative 和 CodeIgniter 中的文件上传
- docker - 将 docker 临时容器部署到 CloudFoundry PaaS
- rest - 通过 rest API 使用 --files 启动 dataproc 作业