次のコードの出力は何ですか?必要なヘッダーが含まれているとします。これには未定義の動作がありますか?
これは未定義の動作につながりますか? g ++でコンパイルして実行すると、 "test"が出力されます。
class A {
public:
void test()
{
printf("test\n");
}
};
int main()
{
A *pa = NULL;
pa->test();
}
次のコードの出力は何ですか?必要なヘッダーが含まれているとします。これには未定義の動作がありますか?
これは未定義の動作につながりますか? g ++でコンパイルして実行すると、 "test"が出力されます。
class A {
public:
void test()
{
printf("test\n");
}
};
int main()
{
A *pa = NULL;
pa->test();
}
'g ++でコンパイルして実行すると、" test "が出力されます。UBは常にクラッシュするとは限りません。実際には、多くのプラットフォームで動作する可能性があります。とにかくUBです。 – Matt