【发布时间】:2019-12-29 08:32:40
【问题描述】:
我想澄清一些关于函数返回指针的事情。
我理解指针的概念,但如果从函数返回,我会感到困惑。
我了解到,当我们想从函数返回一些数据时,我们会在返回类型中写入数据类型,例如在返回 int 类型的数据的情况下,返回类型将为 int。
所以当我们想从函数返回某个变量的地址时,我们将返回数据类型写为某种指针类型,因为内存地址指向某种内存位置,这就是为什么返回类型是我想要的指针类型需要澄清的是,现在这意味着 c++ 中地址的数据类型是指针类型
【问题讨论】:
-
int用于纯整数值。int*用于指向整数值的指针。就像平常一样。 -
哦,记住你不能返回指向局部变量的指针,因为它们的生命周期随着函数返回而结束。
-
您上面所说的似乎是正确的,很难知道您要澄清的是什么。但是,虽然返回指向局部变量的指针是合法的,但由于上面评论中提到的原因,它几乎肯定是一个错误。
-
我认为如果你分享一些代码来澄清你的意思可能会有所帮助。
-
不过,您可以返回指向函数的静态变量的指针。
标签: c++