关于返回指向局部变量(对象)指针问题
int *fun(...)
{
int *q=NULL;
return q;
}
我知道不要返回指向局部变量(对象)指针,因为一旦函数结束,局部对象(变量)被释放,返回的指针就变成了野指针了
但是我今天看了个资料有段代码的形式是这样的,它临时指针指向了NULL,这样可以吗??(这本书不一定说的对 因为我前面看这本书的时候都看出来有错误了)
{
int *q=NULL;
return q;
}
我知道不要返回指向局部变量(对象)指针,因为一旦函数结束,局部对象(变量)被释放,返回的指针就变成了野指针了
但是我今天看了个资料有段代码的形式是这样的,它临时指针指向了NULL,这样可以吗??(这本书不一定说的对 因为我前面看这本书的时候都看出来有错误了)
...全文
相关推荐
C++指针应用及注意问题
- **空指针**:`NULL`或`nullptr`表示没有指向任何对象的指针,初始化指针时通常应将其设为空指针,以避免未初始化的指针导致的问题。
C++在函数中给类的指针变量赋值问题
因此,将 `p` 的地址赋给 `m_pApple` 后,当函数返回时,`m_pApple` 指向的内存已经被释放,导致野指针问题。2.
使用指针易犯的错误.
要避免这种问题,可以使用动态分配内存(如`new`),或者确保指针指向的对象在整个指针生命期内都是有效的。4.
this指针的笔记呀呀呀呀
`this->`用来指向当前对象并访问其成员,避免了成员变量与参数名字冲突的问题。在`main`函数中,我们创建了一个`person`对象`boy`,并使用构造函数设置了它的`age`和`name`。
C/C++函数返回局部变量分析[项目代码]
一旦函数执行完毕,局部变量所占用的内存区域就会被释放,因此任何指向这些局部变量的指针都将成为悬空指针,继续使用这些指针将会导致未定义行为,可能引发程序崩溃或其他难以预料的错误。


