gpt4 book ai didi

c++ - 如何打印 std::atomic 的值?

转载 作者:可可西里 更新时间:2023-11-01 17:14:09 48 4
gpt4 key购买 nike

我正在使用 std::atomic<unsigned int>在我的程序中。如何使用 printf 打印它的值?如果我只使用 %u 是行不通的.我知道我可以使用 std::cout ,但我的程序中到处都是 printf电话,我不想更换他们中的每一个。以前我用的是unsigned int而不是 std::atomic<unsigned int> ,所以我只是使用 %u在我的 printf 中的格式字符串中调用,因此打印工作正常。

尝试打印 std::atomic<unsigned int> 时遇到的错误现在代替常规 unsigned int是:

error: format ‘%u’ expects argument of type ‘unsigned int’, but argument 2 has type ‘std::atomic<unsigned int>’ [-Werror=format=]

最佳答案

另一个选项,你可以使用原子变量的load()方法。例如:

std::atomic<unsigned int> a = { 42 };
printf("%u\n", a.load());

关于c++ - 如何打印 std::atomic<unsigned int> 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6493097/

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