Как отключить анонимный союз? Я не мог найти что-либо на странице cppreference об этом. Может ли memset
задействовать его наибольший член с 0
?
Например -
#include <iostream>
#include <cstring>
struct s{
char a;
char b[100];
};
int main(){
union {
int a;
s b;
char c;
};
// b.a = 'a'; (1)
std::memset(&b, 0, sizeof(b));
std::cout << a << "\n";
std::cout << b.a << " " << b.b << "\n";
std::cout << c << "\n";
}
Также, если это сработает, следует ли раскомментировать (1) перед тем, как использовать memset()
для активации самого большого члена?