在下面 C++ 代码中,由于删除了变量 ptr,因此 ptr 所对应的数据也随之删除。故执行下述代码时,将报错。
int* ptr = new int(10);
cout << *ptr << endl;
delete ptr;
cout << ptr << endl;判断正误题需注意绝对化表述("一定""必须""只能"等)往往是错误的。
判断题中注意"一定""总是""所有""唯一"等绝对化表述通常是错误的。但也要结合具体知识点判断。
【考点】指针与动态内存管理|悬空指针|delete 语义
本题考查《GESP 五级 C++ 大纲》"指针与动态内存管理"模块,属于五级重点考点。命题人放这道题,就是卡住那些只背"delete 后指针失效"口诀的考生——他们误以为 delete 会让指针本身变成空,从而认为后续使用必报错。