有没有一种方法可以在 C++ 中模拟线程级常量?例如,如果我必须调用模板函数,那么我需要提及常量作为模板级参数吗?我可以将静态常量变量用于模板元编程,但它们是进程级常量。
我知道,我问的问题很可能是“否”。只是想问这个以利用非常罕见的概率 :))
根据要求,我发布了示例代码。在这里我需要跟踪查询,如果它来自一个特定的线程。我假设,如果我将其创建为我的第一个线程,那么它将获得线程 ID 1。
template<ACE_INT32 ThreadId>
bool enquire_presence( Manager* man)
{
return check(man);
}
template<>
bool enquire_presence<1>( Manager* man )
{
track_enquiry(man);
return check(man);
}
谢谢, 悟空。
最佳答案
模板是编译时构造,线程是运行时构造 - 没有办法让模板特定于线程。
关于C++ 线程级常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2435385/