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
АР
АР