我正在學習C++中的指針。我寫了這個簡單的程序來展示一下我有一個問題:C++ - 空指針
#include <iostream>
using namespace std;
int main() {
cout << "test1";
char *ptr = 0;
cout << ptr;
cout << "test2";
}
當我運行程序時,它不輸出「測試2」結尾,而不是隻有「測試1」。這應該意味着當我試圖打印出ptr的值時它崩潰了?我嘗試在Eclipse調試器中逐步完成它,它看起來像每一行被執行,但不會拋出一個錯誤或什麼?
對於初學者來說,試試這個:COUT << 「test2的」 << ENDL;看看它是否打印出test2。上一行應該打印出ptr的地址。 – 2014-10-10 01:38:41
你說得對 - 對不起,我的壞語義。我不確定它是否是實現定義的。我經常在OSX和Linux上使用GCC。 – 2014-10-10 01:43:45