Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
pthread_t(由pthread_self()) 返回是一种不透明类型,但在某些平台上实际上是数字,例如typedefed to unsigned long。在这些平台上,是0无效pthread_t值吗?怎么样-1?
pthread_t
pthread_self()
typedef
unsigned long
0
-1
如果我想要一个 apthread_t或无效的值,我会使用 C++1y 中的 aboost::optional<pthread_t>或std::optional<pthread_t>。
boost::optional<pthread_t>
std::optional<pthread_t>
这几乎没有开销(字节),表达了我想要的(这个值可能是也可能不是 a pthread_t),并且不依赖于特定于平台的行为。