gpt4 book ai didi

c++ - 理解指针c++

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:26 26 4
gpt4 key购买 nike

当我写这段代码时:

Animal *p;
Animal b;
p = &b;

在我创建指针时的第一行。是创建一个新的Animal对象还是只在你写第二行的时候?

谢谢。

最佳答案

当你声明一个指针时[并且声明是一个定义],空间只分配给一个指针,没有创建Animal对象。

如果你不初始化指针,你不能以任何方式使用它,除非将它指向一个有效的 Animal 对象,或者为它分配特殊的“空指针值”以表明指针未指向有效对象。您甚至根本无法测试它是否真的指向有效的 Animal 对象。

总是建议在创建指针后立即将指针初始化为 null 或有效对象,因此我建议:

Animal* p = 0; // or = NULL
Animal u;
p = &u;

或更好:

Animal u;
Animal* p = &u;

关于c++ - 理解指针c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4618102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com