Iva*_*ush 5 c++ multithreading boost-thread c++11
是否有可能以十进制或八进制格式cout thread :: id?
std::cout << std::showbase;
cout << dec(or oct) << boost::this_thread::get_id()
Run Code Online (Sandbox Code Playgroud)
我总是十六进制,例如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
Run Code Online (Sandbox Code Playgroud)
但是,请注意a thread::id不需要是数字.此外,它可以是数字,但可以以不同于仅插入该数字的方式打印到标准输出std::cout.
C++ 11标准规范operator <<接受的重载std::thread::id(我假设其行为类似于Boost的通信重载boost::thread::it),说:
[...]将未指定的id 文本表示插入到
out.
这意味着表示可能不是一个号码在所有,在这种情况下,操纵器的格式诸如std::hex,std::dec或std::oct可以不具有在其上的任何影响.
| 归档时间: |
|
| 查看次数: |
887 次 |
| 最近记录: |