У меня есть следующее утверждение: < /p>
Код: Выделить всё
#include
#include
static_assert(std::is_standard_layout_v);
Это утверждение проходит на GCC, но не удается для Clang (
https://godbolt.org/z/8bwdoxsp9), оба с использованием libstdc ++, что предполагает, что может быть некоторое условное компиляцию или компилятор. Ошибка, которая вызывает это расхождение. T*, который по существу гарантирует, что это стандартный тип класса макета.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... ard-layout