Код: Выделить всё
struct A {
int n{};
int* pn{};
};
static_assert(std::is_trivially_copyable_v); // true
int main() {
auto a = A{};
a.n = 1;
a.pn = &a.n;
auto b = A{};
std::memcpy(&b, &a, sizeof(a));
// Now, b.pn points to a.n, rather than b.n.
// So, A should not be regarded as trivially relocatable.
}
тривиально копируется>
Подробнее здесь: https://stackoverflow.com/questions/796 ... elocatable
Мобильная версия