struct myclass {
int id;
myclass(): id(-1){};
};
myclass *a;
cout >> a->id;
Run Code Online (Sandbox Code Playgroud)
以上是我的长程序的演示.输出应为-1.但我不知道为什么输出变成-842150451.
你有未定义的行为!
您创建一个myclass指针,但从不指向任何东西.然后你尝试取消引用悬空或狂野指针.
试试这个来获得你期望的-1:
myclass a;
std::cout << a.id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |