首页 > 解决方案 > 关于函数返回指针

问题描述

我想澄清一些关于函数返回指针的事情。

我理解指针的概念,但如果从函数返回,我会感到困惑。

我了解到,当我们想从函数返回一些数据时,我们在返回类型中写入数据类型,例如在返回 int 类型的数据的情况下,返回类型将为 int。

因此,当我们想从函数返回某个变量的地址时,我们将返回数据类型写为某种​​指针类型,因为内存地址指向某种内存位置,这就是为什么返回类型是指针类型的原因我想澄清的是现在这意味着c ++中地址的数据类型是指针类型

标签: c++

解决方案


这是一般工厂函数的工作方式:

class HobNob;
...
HobNob* CreateHobNob()
{
    return new HobNob();
}
...
HobNob* myHobNob = CreateHobNob();

当然,在现实生活中我们永远不会使用裸指针,但总的想法是我们需要指针,因为我们不想传递HobNobs (可能很大),而是将句柄(指针)传递给在堆上创建的指针。我们现在还可以完全控制它的生命周期。


推荐阅读