C++11 std::thread::id其实是一个内部类:
class thread{
...
class id{
...
};
...
};
id里面有一个私有的类似typedef unsigned long int pthread_t;的数据成员。当初遇到id的时候以为它就是一个类似int的东西。在程序的某个地方需要一个数值的id,需要std::this_thread::get_id()获得而不是std::thread::get_id()获得。结果std::thread::id这货是个类,并且数值id是私有的,虽然有std::thread::native_handle(),但用不上。差点就想在标准库里加个std::this_thread::get_raw_id()之类的函数。最后用pthread.h的pthread_self()解决。