【发布时间】:2018-03-11 09:17:03
【问题描述】:
有什么方法可以在每个线程的 constexpr thread_local 变量中获取不同的值?
constexpr thread_local someType someVar = ......;
似乎支持 constexpr thread_local,但在这种情况下 thread_local 指示器似乎没有做任何事情。
【问题讨论】:
-
您似乎有一些相互矛盾的要求。
constexpr用于编译时常量,而线程是纯运行时概念。你想做什么?您要解决的实际问题是什么?请花一些时间阅读the XY problem 并思考它与这个问题的关系。 -
你想用这个达到什么目的?
-
我想检查编译时是否会从正确的线程调用某些东西
-
您可能正在寻找
std::this_thread::get_id()。 -
你不能那样做。调用发生在运行时,您不能在编译时进行运行时检查,这根本不可能。也许是时候考虑(或者更确切地说重新考虑)您的要求或设计?
标签: c++ c++14 constexpr thread-local