我正在尝试解决UB技巧的一个问题。预期输出:
0xfff ...
0xfff ...
0xfff ...
但是由于某种原因,我得到了:
b
0xfff ...
0xfff ...
struct Cls {
Cls(char c, double d, int i) : c(c), d(d), i(i) {}
char c;
double d;
int i;
};
void solve() {
Cls cls('b', 3.1415, 228);
cout << &cls.c << endl;
cout << &cls.d << endl;
cout << &cls.i << endl;
}
为什么会发生?