为什么可以打印空指针的值,而不打印未初始化的指针的值?我的意思是,初始化指向nullptr的指针时,您只是显式地将指针指向无处,对吗?如果是这样,那不就和不初始化一样,还是我错过了一些事情?

谢谢!非常感激!

最佳答案

指向无处且未初始化是两个不同的概念。

严格来说,未初始化的指针具有不确定的值。它不是指向“无处”或对象的特定位置的指针。只是……“耸耸肩”。您还无法执行任何操作。

“特定的地方'无处'??”我听到你问。 “这是什么废话?”好吧,很好。这并不是真正的“无处可去”。空指针具有特定的值和特定的表示形式。它不指向对象,但仍是为此用途保留的单个可预测的已知值。

有效指针:我在克雷克的家中,上类族或酒吧等。
无效的指针:我当时在克雷克的家,但是来自莫斯科的弗拉德炸死了它:(我目前正在看着火焰,哭了一点。
空指针:我在家里睡着了。请早上回来。
未初始化的指针:我很醉,即使我还活着,也不知道我在哪里。

关于c++ - 空指针和未初始化的指针之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43767514/

10-11 23:08
查看更多