![]() |
1
14
C++编译器不会阻止你使用未初始化的指针,尽管结果是不确定的,但是现实世界中的编译器生成代码却忽略了指针未初始化的事实是正常的。 这是为什么C++相对于其他一些语言既快又比较危险的原因之一。
你打电话来的原因是什么
|
![]() |
2
7
召唤
因为编译器被指示返回对类成员的引用。为此,它只需将成员的偏移量添加到 这 指针,这将生成另一个无效指针(引用,几乎相同)。
|
![]() |
3
3
C++具有未定义行为的概念。使用未初始化的指针是此类未定义行为的常见示例。出于性能原因,C++标准位置 没有任何限制 |
![]() |
4
0
我怀疑
|
![]() |
5
0
它不起作用。幸运的是,你的应用程序并没有在你期望它崩溃的地方崩溃。这不是编译器的一个特性,而是编译器的一个副作用,它使函数调用看起来可以工作。 |
![]() |
6
0
您可以使用未初始化的指针调用这些方法。也行 ptr->func1(); 或 int crashere=ptr->func1()// |