为什么 -1 在 C++ 中变成 -842150451?
Why does -1 become -842150451 in C++?
struct myclass {
int id;
myclass(): id(-1){};
};
myclass *a;
cout >> a->id;
以上是我长程序的演示。输出应为 -1。但我不知道为什么输出变成-842150451。
你有未定义的行为!
您创建了一个myclass
指针,但从不将其指向任何内容。然后你尝试取消引用悬空或狂野的指针。
试试这个来获得你期望的 -1:
myclass a;
std::cout << a.id;