看起来std::hardware_destructive_interference_size不是在libc++或libstdc++中定义的。我对我当地的装置很满意。我查看了各自的svn存储库。
它们应该在<new>头中,参见:cppreference.com
我希望人们会问这些常量在哪里,但显然没有其他人遗漏它们。
我遗漏了什么?他们在哪!
发布于 2020-01-31 13:35:45
两个库都没有实现此功能。这在他们的C++17遵从状态列表中有记录:
https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2017
status.html
(分别搜索“P0154R1”)
您可以通过以下方法检测该功能是否可用:
#if __cpp_lib_hardware_interference_size >= 201603发布于 2020-01-31 13:35:45
根据文档的说法,GCC还没有实现这一功能。
Feature | Proposal | Status | SD-6 Feature Test
constexpr... | P0154R1 | No | __cpp_lib_hardware_interference_size >= 201603libc++ 文档也一样
Paper | Group | Paper Name | Meeting | Status | First released version
P0154R1 | LWG | constexpr... | Jacksonville | - | -对这两种实现的C++17的支持仍然是不完整的:
https://stackoverflow.com/questions/60004804
复制相似问题