gpt4 book ai didi

c++ - 如何在 C++11 中获取整数线程 ID

转载 作者:IT老高 更新时间:2023-10-28 12:07:04 36 4
gpt4 key购买 nike

c++11有可能获取当前线程id,但不能强制转换为整数类型:

cout<<std::this_thread::get_id()<<endl;

输出:139918771783456

cout<<(uint64_t)std::this_thread::get_id()<<endl;

错误:从类型“std::thread::id”到类型“uint64_t”的无效转换其他类型相同:从类型“std::thread::id”到类型“uint32_t”的无效转换

我真的不想通过指针转换来获取整数线程 id。有没有一些合理的方法(标准,因为我希望它是可移植的)来做到这一点?

最佳答案

你只需要这样做

std::hash<std::thread::id>{}(std::this_thread::get_id())

获取 size_t

来自 cppreference :

The template specialization of std::hash for the std::thread::id class allows users to obtain hashes of the identifiers of threads.

关于c++ - 如何在 C++11 中获取整数线程 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7432100/

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