新标准中set的迭代器it有const修饰符,如何去掉

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新标准中set的迭代器it有const修饰符,如何去掉相关的知识,希望对你有一定的参考价值。

新的C++11标准中,set的迭代器it有const修饰符,那么对它元素的修改就必然不能成功了。
但是有时候遇到要修改stl set元素的问题,这个问题一般的解决方法是先erase这个元素,然后再insert。
如果利用const_cast(*it)把it映射成一个引用的对象,那么就可以对它进行修改了。
const_cast<node*>(&(*it))->b = 10;

以上是关于新标准中set的迭代器it有const修饰符,如何去掉的主要内容,如果未能解决你的问题,请参考以下文章

什么是类型修饰符?

OpenGL ES着色器语言----------------储存修饰符

如何在LLVM中检测const修饰符?

const C语言(转)

可以为属性的 get 和 set 访问器指定单独的访问修饰符吗?

C++中 容易忽视的const 修饰符