gpt4 book ai didi

c++ - 如何分配一个 std::pair 其中一个组件类型为 const?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:56 26 4
gpt4 key购买 nike

我正在尝试编写一个与 std::map 兼容的关联容器。为此,我必须创建一个插入方法,该方法以 std::pair 的形式接受一个新项,其中第一个组件是 const 类型。例如:std::pair<const int, int> p .

我遇到的问题是这样的对象不能分配给另一个对象。因此,在我的 MapCompatibleContainer 的内部代码中,我无法将新对复制到私有(private)变量(std::vector)。

我该如何解决这个问题?

谢谢

最佳答案

正如您所说,您不能分配给 const 对象。

标准容器通过分配原始内存并就地构造对象来解决这个问题。复制构造仍然有效。

此外,关联容器将每个元素存储在单独的内存块中,因此以后不必复制它们。

关于c++ - 如何分配一个 std::pair 其中一个组件类型为 const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5285527/

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