如何解决C ++增加原子浮点数
我有一个std::atomic<float>
,我想增加一个特定值。但是,在fetch_add()
上使用atomic<float>
无法编译,而且似乎不被允许。无论如何,我能解决这个问题吗?这是我尝试过的代码片段:
std::atomic<float> data(0);
void do_work(){ data.fetch_add(1); }
我得到的错误是fetch_add
不是atomic<float>
的成员
编辑:忘记说明我正在使用-std=c++2a
解决方法
浮点原子仅受g ++ 10.1及更高版本中的C ++库支持。请参见https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html并搜索P0020R6
。
您的代码可以使用g ++ 10.2正常编译:Try on godbolt
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。