2 个对象的 STL 嵌套向量
STL nested vector of 2 objects
如何创建一个嵌套的 STL 向量并关联两个类对象?目前我只想使用事务向量上的 for 循环并比较 ID,我认为这不是很有效。谢谢。我的首选实现方式是矢量,我想存储用户购买的产品。许多用户可以购买产品。
class Products {
public:
int productID; // unique
// product information variables
};
// User class
class User {
public:
int userID;
int productID;
// some more variables
};
int main() {
// STL vector holding productID's purchased by the users.
}
你的
答案,如果你还没有弄清楚:
#include <iostream>
#include <map>
using namespace std;
class Products {
public:
int _productID;
Products(int productID):_productID(productID){}
Products(){}
bool operator < (const Products & product) const {
return _productID < product._productID;
}
};
class User {
public:
int _userID;
int _productID;
User(int userId, int productID): _userID(userId), _productID(productID){}
User(){}
};
int main() {
map<Products,User> mapVariable;
User user(1,1);
Products product(1);
// for inserting into map
mapVariable.insert(make_pair(product,user)); //type 1
mapVariable[product] = user; // type 2
// for reading values in loop
for(auto mapElem: mapVariable){
cout << "productID: " <<mapElem.first._productID << endl;
cout << "userId: " << mapElem.second._userID << endl;
}
}
当然,有很多方法可以插入和阅读表单地图,但它适合您的开始。
相关文章:
- 选择和修改嵌套向量中的条目的最佳实践
- 嵌套向量的缺点是什么?
- 删除嵌套向量中具有remove_if的元素
- 在循环访问嵌套向量时删除元素
- C++:清除嵌套向量会导致奇怪的结果
- 类字符串和嵌套向量C
- 如何在C 中打印出嵌套向量的内容
- 使用嵌套向量动态分配方阵
- 在嵌套向量C 中获取特定元素
- C++崩溃:push_back嵌套向量
- 初始化嵌套向量的大小
- 针对大型嵌套向量的高效内存分配
- 初始化具有预留容量的嵌套向量的子向量
- 如何获取嵌套向量的尺寸(嵌套性)(不是大小)
- 如何创建一个完全动态的嵌套向量
- 是在连续空间中分配的嵌套向量
- 如何在嵌套向量中获取元素类型
- 使用具有嵌套向量的迭代器的意外行为
- 2 个对象的 STL 嵌套向量
- 嵌套c++向量的重新定位