我们能用c++制作集合数组吗
Can we make array of sets in c++?
类似以下方式:
set<int> s[3];
我试过了,但它在我试图通过写s[i][j]
访问其元素的行中出现错误,错误显示
不匹配"operator[]">
问题不在于std::set
-s的数组,而在于尝试访问集合内元素的方式。
std::set
不支持operator []
,这就是为什么您会收到错误:
不匹配"operator[]">
相反,使用find()
以以下方式访问对象:
auto iter = s[i].find(<value>);
if (iter != s[i].end()) {
[..] // Do something with iter
}
集合的元素不被索引访问。s[i]是第(i-1)个集合,但s[i][j]没有任何意义。可以使用find函数检查集合中是否存在元素。例如,找到(3)=s[i].end()。您可以使用for(int x:s[i]){}(C++11及以上版本)或迭代器按排序顺序循环元素。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 我们可以将集合的值存储在变量中吗?就像我们可以将数组的值存储在变量中一样
- C++中的集合(异构类型的数组)
- C 集合构建器中类成员数组的2D数组大小
- 只有Arduino的第一个对象在包含在另一个对象的集合/数组中时会丢失其数据属性值
- 如何将数组插入无序集合
- 支持多线程方法来构建数组中所有元素的集合吗
- 在c++中使用集合与使用数组
- 如何查找数组集合中第二大元素的索引
- c++(98) STL是否可以设置对int类型的数组进行散列,然后检查该数组是否存在于集合中?
- Java JNI: c++中原始(双精度)数组集合中的错误值
- Visual Studio - 如何在 MS 编译器中使用数组初始化C++向量/集合
- 将文本文件转换为 std::string 数组/集合的最佳方法是什么 C++.
- 创建集合关联数组