【问题标题】:Qt equivalent to winapi InterlockedIncrement?Qt相当于winapi InterlockedIncrement?
【发布时间】:2012-10-30 12:04:48
【问题描述】:

我尝试在 Qt c++ 中找到与 winapi InterlockedIncrement 等效的东西 我在读: http://doc.qt.io/qt-4.8/qatomicint.html
但是我没看懂,谁能给我一个简单的例子

【问题讨论】:

  • 解释一下你想要InterlockedIncrement的什么属性,这样只知道Qt的人可以回答,而不仅仅是两个都知道的人。

标签: c++ qt winapi


【解决方案1】:

InterlockedIncrement() 生成一个完整的内存屏障(或栅栏)以确保内存操作按顺序完成(MSDN 文档。)它返回新值。

在 Qt 中,这转换为 QAtomicInt::fetchAndAddOrdered(1) + 1。例如:

QAtomicInt atomInt(15);
int n = atomInt.fetchAndAddOrdered(1) + 1; // n == 16, atomInt == 16

【讨论】:

    猜你喜欢
    • 2012-10-12
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2010-10-24
    • 2010-10-24
    • 2013-07-01
    相关资源
    最近更新 更多