3

なぜclang ++ / OSXの下で以下がsigsegvを引き起こさないのか興味があります:

int *p = (int*)0;
cout << *p;

しかし、これは:

int *p = (int*)1;
cout << *p;

クランのバージョンは 4.1 です

4

1 に答える 1

7

無効なポインターの逆参照は未定義の動作です。これは、sigsev が保証されているという意味ではありません。なんでも起こる可能性がある。

于 2013-01-15T19:36:28.433 に答える