gpt4 book ai didi

c++ - 值类型在map中的地址

转载 作者:行者123 更新时间:2023-11-28 07:12:52 25 4
gpt4 key购买 nike

<分区>

通常在 std::vector<valuetype> 中获取给定值的地址不安全,因为如果 vector被重新分配(.resize().push_back() 扩展大小), vector 中所有对象的地址可能会改变。

危险:

vector<int> vals ;
vals.push_back( 0 ) ;
int *badP = &vals[0];
vals.push_back( 1 ) ;
// badP could be invalid, if 2nd push_back resulted in realloc

不过,我想知道 map 右侧值类型的安全性。这样安全吗?

危险吗?

map<int,int> vals ;
vals.insert( make_pair(1,1) ) ;
int *p1 = &vals[1];
// is p1 guaranteed to be valid, as long as the vals[1]
// is not removed, deleted, or changed?

在什么条件下是p1坏指针?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com