Чтобы проверить функцию, cppreference упоминает эти макросы тестирования функции: ссылка .
Если функция присутствует в компиляторе, макрос определяется.Но я не понимаю, почему, если они определены, они определены для чего-то вроде 201606
, который, я считаю, является версией C ++, а не компилятором .
Например,Я использую самую последнюю версию GCC с -std=c++17
для функции __cpp_lib_hardware_interference_size
.Макрос не определен, что, как я понимаю, означает, что GCC не имеет этой функции, несмотря на попытку 8.2.1 с переключателем c ++ 17 (и c ++ 2a).В этом случае, каково значение документированного значения:
__cpp_lib_hardware_interference_size 201703
(внутри ссылки cppreference)?