C 指针数组使用STL开始和结束
C++ Pointer array to set using STL begin and end
我正在学习C ,并遵守一种情况,我必须将数组转换为set
我的指针包含数组的地址,我想将数组的所有唯一元素放入集合中。使用STL如何可能。以下是我的代码旋转,也正在寻找良好的解释。
#include<set>
void possiblepermutation(int *array) {
set<int> roots(begin(array),end(array));
}
阅读以下评论后,我明白,当我通过指针时,begin()和end()对开始和结束都不知道。如果我将数组的大小与数组指针一起使用,该怎么做,您能帮我吗?
void possiblepermutation(int *array , int n) {
set<int> roots(begin(array),end(array)); // HOW TO THEN
}
std::begin
和 std::end
不要返回腐烂到指针类型的数组的范围。他们看到的只是指针。非正式地,他们不知道指针实际上指向数组中的第一个元素。
您的工作是通过C 标准库容器喜欢std::vector
,也许是通过参考,或者将数组的长度传递为参数:例如
void possiblepermutation(int* array , std::size_t n){
std::set<int> roots(array, array + n);
相关文章:
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 如何显示函数开始、结束行和函数体?
- C++ 从具有开始位置和结束位置的列表中删除
- C++程序从主程序开始执行并在主程序结束?
- 如何使用Chrono或ctime libaray输入设置的开始和结束时间
- 是否可以在基于范围的 for 循环中使用模板化的开始/结束方法
- 重写自定义数组类的运算符/开始/结束
- 取代表开始/结束的数字对,并删除重叠
- 如何为一个类提供多个开始/结束代理
- 映射大小() > 0 但开始() == 结束()
- 将数组作为函数参数传递,并在其上调用开始/结束方法
- 正则表达式,捕获 4 个被 括起来的数字.或行开始/结束
- C++ 指针上的开始/结束 (arr) - 调用 'begin(int**&)' 没有匹配函数
- 重载指向集合的指针的开始/结束是否是个好主意
- 检测 D3D 挂钩中的帧开始/结束
- C ::P在循环开始结束时发出声音循环声音
- 三次样条:开始/结束段插值
- Std::regex,匹配字符串的开始/结束
- 匹配开始/结束分析调用