c++ - 如何更改集合中的对象子成员

标签 c++ class object set

我正在使用一个集合来保存对象。我想更改集合中的第一个对象。这是我尝试过的:

set<myClass>::iterator i = classlist.begin();
i->value = 0;

这是我得到的错误:

error: read-only variable is not assignable

变量是如何变成只读的?怎么改?

最佳答案

集合中的内容实际上是只读的 - 您不能就地更改集合成员的值。您所能做的就是删除它,并添加一个具有所需新值的新成员。由于 std::set 的二叉树实现,此限制是必要的。

关于c++ - 如何更改集合中的对象子成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876183/

相关文章:

c++ - 将 QUrl 传递给 QNetworkRequest 构造函数会导致 "non-class type"编译器错误

c++ - 极简主义的 VideoCapture 示例产生了一个 Segmentation Fault

c++ - 具有直接像素访问的 Opencv 颜色映射

python - 为什么@var.setter函数不能访问类变量?

c++ - 从堆栈中删除一个对象?

Javascript 在 </a> 出现在文本后插入

c++ - 从一组坐标中确定将形成一条线的点

java - 如何设计类层次结构?

java - 非静态变量 this 不能从静态内容 Java 中引用

php - 不在对象上下文调用类中的方法时使用 $this