gpt4 book ai didi

c++ - 两种插入 map 的方式之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:01:16 25 4
gpt4 key购买 nike

我被问到将记录插入 map 的两种方法,

mymap["foo"] = 123;

mymap.insert("foo", 123);

那么除了语法之外,这两者之间有什么区别吗?

最佳答案

除了Timo的出色回答--

如果“foo”处不存在任何元素,第一个将首先在“foo”位置默认构造一个值,然后使用对默认构造的“foo”值的引用,将 123 分配给该位置。

只是做

mymap["foo"]

将导致一个值被默认构造并放置在“foo”位置。所以做的时候要小心

int value = mymap["foo"]

因为它会起作用,即使您从未在 foo 处显式分配或插入

关于c++ - 两种插入 map 的方式之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5710513/

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