這個問題在這里已經有了答案: 在 NULL 指標上訪問類成員 8 個答案 6 天前關閉。
#include <iostream>
class TestClass {
public:
TestClass() {
std::cout << "TestClass instantiated\n";
}
~TestClass() {
std::cout << "TestClass destructed\n";
}
void PrintSomething() {
std::cout << "TestClass is printing something\n";
}
};
int main() {
TestClass* tClass = new TestClass();
delete tClass;
tClass = nullptr;
tClass->PrintSomething();
std::cout << "Exiting...\n";
return 0;
}
結果:
TestClass instantiated
TestClass destructed
TestClass is printing something
Exiting...
我認為在 tClass 指標設定為 nullptr 之后嘗試列印某些內容會導致 nullpointer 例外錯誤,但它列印得很好。
uj5u.com熱心網友回復:
為什么訪問這個空指標不會導致例外?
因為它沒有指定導致例外。通過空指標訪問會導致未定義的行為。不要這樣做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/470466.html