gpt4 book ai didi

c++ - 十进制值:cout << dec << boost::this_thread::get_id()

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:20:42 24 4
gpt4 key购买 nike

是否可以用十进制或八进制格式计算 thread::id?

std::cout << std::showbase;
cout << dec(or oct) << boost::this_thread::get_id()

我总是得到十六进制,例如 0xdf08。

最佳答案

您应该能够使用标准 I/O 操纵器指定您想要的输出格式:

#include <iomanip>

// ...

std::cout << std::oct << boost::this_thread::get_id() << std::endl;
// ^^^^^^^^
// Octal

std::cout << std::dec << boost::this_thread::get_id() << std::endl;
// ^^^^^^^^
// Decimal

std::cout << std::hex << boost::this_thread::get_id() << std::endl;
// ^^^^^^^^
// Hexadecimal

但是,请注意 thread::id不需要是数字。此外,它可能是一个数字,但可能以不同于将该数字插入 std::cout 的方式打印到标准输出。 .

C++11 标准规范 operator << 的重载接受std::thread::id (我假设它的行为类似于 Boost 对 boost::thread::it 的对应重载),说:

[...] Inserts an unspecified text representation of id into out.

这意味着表示可能根本不是数字,在这种情况下格式化操纵符,例如 std::hex , std::dec , 或 std::oct可能对此没有任何影响。

关于c++ - 十进制值:cout << dec << boost::this_thread::get_id(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17155351/

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