获取c+中的线程id+; 我是C++新手,我在YouTube上学习教程。 在这里我看到了这行代码: uint32_t threadID = std::hash<std::thread::id>{}(std::this_thread::get_id()); uint32_t threadID=std::hash{}(std::this_thread::get_id());
为什么哈希类型和获取c+中的线程id+; 我是C++新手,我在YouTube上学习教程。 在这里我看到了这行代码: uint32_t threadID = std::hash<std::thread::id>{}(std::this_thread::get_id()); uint32_t threadID=std::hash{}(std::this_thread::get_id());,c++,C++,为什么哈希类型和thread::getid()之间有大括号?我还看到它可以被()替换。那是关于什么的?是一个函数,而不是一个函数。代码初始化临时/匿名哈希对象,然后使用调用线程的ID作为参数调用哈希对象的 因此,该代码相当于: std::hash<std::thread::id> myHashObject{}; uint32_t threadID = myHashObject(std::this_thread::get_id()); std::hash myHashObject{}
thread::getid()
之间有大括号?我还看到它可以被()
替换。那是关于什么的?是一个函数,而不是一个函数。代码初始化临时/匿名哈希对象,然后使用调用线程的ID作为参数调用哈希对象的
因此,该代码相当于:
std::hash<std::thread::id> myHashObject{};
uint32_t threadID = myHashObject(std::this_thread::get_id());
std::hash myHashObject{};
uint32_t threadID=myHashObject(std::this_thread::get_id());
卷轴只是初始化C++对象的一种新方式。
是A,不是函数。代码初始化临时/匿名哈希对象,然后使用调用线程的ID作为参数调用哈希对象的
因此,该代码相当于:std::hash<std::thread::id> myHashObject{};
uint32_t threadID = myHashObject(std::this_thread::get_id());
std::hash myHashObject{};
uint32_t threadID=myHashObject(std::this_thread::get_id());
卷轴只是初始化C++对象的一种新方式。
< P> <代码>:ST::Hash < /C>是一种类型。我们需要一个这种类型的对象来进行实际的哈希运算。因此,{}
(或()
)正在创建该类型的临时对象。然后,包含std::this_thread::get_id()
的括号表示我们正在调用该对象上的操作符()
。std::hash
是一种类型。我们需要一个这种类型的对象来进行实际的哈希运算。因此,{}
(或()
)正在创建该类型的临时对象。然后,包含std::this_thread::get_id()
的括号表示我们正在调用该对象上的运算符()
。为了澄清一点,threadID
是该变量的错误名称。它应该是散列的线程id,或者类似的东西。它不是线程id。当我在挑选代码时,std::hash::operator()
的返回类型是std::size\u t
,它不一定是uint32\u t
。为了澄清一点,threadID
是该变量的错误名称。它应该是散列的线程id,或者类似的东西。它不是线程id。当我挑选代码时,std::hash::operator()
的返回类型是std::size\t
,它不一定是uint32\t
。