A
Size: a a a
A
A
char8_t предназначен именно для хранения utf8 символов. Не надо в нем хранить бинарные данные. Если нужно избежать aliasing'а, есть [u]int8_t. Более того, для basic_string<char8_t> есть тайпдеф u8string. Ну и в целом практика использования строки для бинарных данных мне кажется порочной. Нужен SSO? Есть folly::small_vector. Я думаю есть еще миллион библиотек, которые предоставляют подобные типы.[u]int8_t никак не помогает избежать алиасинга, это обычно тайпдеф на char / uchar.АР
static_assert(some_concept<MyClass>);A
АР
class MyClass : some_concept { ... // требуем от класса удовлетворение концептаАК
class MyClass : some_concept { ... // требуем от класса удовлетворение концептаclass MyClass requires some_concept {АР
АР
class MyClass requires some_concept {АР
ДЛ
m
[unsigned] int, размер enum'а не должен превышать [unsigned] int. Это все имеет значение только для unscoped enums без явно заданного underlying типа.AT
АР
АР
m
АР
АР