小编gud*_*udé的帖子

使用std :: map :: extract来修改密钥

我的实现使用std :: map来存储数据.当我开始我的代码时,它似乎是最好的选择.现在我来到了必须更改地图内所有对象的键值的位置.

问题是每个对象都指向地图中的另一个对象:

class AND : public node{
    vector <node*> inputs;
    vector <node*> outputs;
}
Run Code Online (Sandbox Code Playgroud)

并且地图声明如下:

map<unsigned int, AND> all_ANDs;
Run Code Online (Sandbox Code Playgroud)

我的问题是:如果我使用来自C++ 17的map :: extract修改all_ANDs映射中的键值,我的指针(例如属性输入中的那些)是否会指向正确的位置?

换句话说:如果我用extract改变"first"元素的值,"second"的地址将保持不变?

我从这个链接中注意到字符串"papaya"保持不变(并且优雅地工作).但我想确定一下指针.

c++ pointers extract stdmap

2
推荐指数
1
解决办法
475
查看次数

标签 统计

c++ ×1

extract ×1

pointers ×1

stdmap ×1