C++ std::按值或指针映射操作?
我有一个a级:C++ std::按值或指针映射操作?,c++,map,C++,Map,我有一个a级: struct A { std::map<int,int> aa; } 这会导致内存泄漏吗? 我希望将副本的所有值复制到b[inx]。我只是想知道这是std::map指针的实现 这会导致内存泄漏吗 程序中没有内存泄漏,但存在编译错误,因为没有为结构B定义运算符[] 假设您在此处添加到地图: while(true) { A a; a[0] = 0; b[inx] = a; ++inx; } 没有内存泄漏。在使用所有整数之前,内存
struct A
{
std::map<int,int> aa;
}
这会导致内存泄漏吗?
我希望将副本的所有值复制到b[inx]。我只是想知道这是std::map指针的实现
这会导致内存泄漏吗
程序中没有内存泄漏,但存在编译错误,因为没有为结构B定义运算符[]
假设您在此处添加到地图:
while(true)
{
A a;
a[0] = 0;
b[inx] = a;
++inx;
}
没有内存泄漏。在使用所有整数之前,内存将一直增加,但这是正常的,因为它们必须存储在内存中的某个位置。顺便说一句,您使用的是std::map,而不是std::map。除此之外,A和B都不执行运算符[]:-请发布一个完整的编译示例-您的代码包含了太多的错误,因为我看起来更糟。对于脏代码,我已经修复了它但问题是一样的。
B b;
int inx=0;
while(true)
{
A a;
a.aa[0] = 0;
b.bb[inx] = a;
++inx;
}
while(true)
{
A a;
a[0] = 0;
b[inx] = a;
++inx;
}