首页 > 解决方案 > 如何将值插入 const 指针向量

问题描述

我知道以下帖子:

C++11 是否允许 vector<const T>?

但是我无法解决我的问题。我正在尝试使用我的类“示例”的 const shared_ptr 列表定义一个向量,因为不应更改这些类实例。

std::vector<const std::shared_ptr<Example>> myVector;

但是当我尝试向向量添加一个 const 值时,它不会编译:

const std::shared_ptr<Example> example = createMyObject();
myVector.append(example); // compiler error

我也知道这篇文章: 向量中的不可复制元素 但是我的问题没有真正的答案。由于我的课 Example 提供了几个 setter,我需要将它们设置为 const 以便它们无法更改。

标签: c++shared-ptr

解决方案


推荐阅读