gpt4 book ai didi

c++ - 如何复制/设置 volatile std::string?

转载 作者:太空狗 更新时间:2023-10-29 23:05:25 24 4
gpt4 key购买 nike

如何复制volatile std::string? volatile 没有复制构造函数,c_str 之类的东西也不允许 volatile 访问。 operator= 似乎也不允许设置 volatile。似乎 std::string 根本无法用作 volatile 对象。这是故意的,还是我错过了一些使用方法?

注意:我有简单的解决方法,我只是在尝试在一些低级代码中使用字符串时遇到了这个问题。

最佳答案

如您所述,std::string 上的成员函数均未标记为volatile,因此您无法对volatile std 执行任何操作::字符串。我认为唯一的选择是放弃 volatileness 并对结果执行操作,如下所示:

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

不过,从根本上说,您可能不应该制作一个volatile std::stringvolatile 适用于可能被外部源改变或被多个线程更改的对象。第一种情况非常不寻常,需要一些非常特殊的硬件来了解 std::string 的布局。第二个是不安全的,因为 std::string 不是线程安全的。

希望这对您有所帮助!

关于c++ - 如何复制/设置 volatile std::string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19623434/

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