How to copy/set a volatile std::string?

◇◆丶佛笑我妖孽 提交于 2019-12-04 14:13:30

As you noted, none of the member functions on std::string are marked volatile, so you can't perform any operations on a volatile std::string. I think the only option would be to cast away volatileness and perform operations on the result, as shown here:

const_cast<std::string&>(myVolatileString) = "Now I'm different!"

Fundamentally, though, you probably shouldn't be making a volatile std::string. volatile is appropriate for objects that might be mutated by external sources or changed by multiple threads. This first case is pretty unusual and would require some very special hardware that knew the layout of std::string. The second is unsafe because std::string isn't thread-safe.

Hope this helps!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!