c++ - 关于函数返回指针
问题描述
我想澄清一些关于函数返回指针的事情。
我理解指针的概念,但如果从函数返回,我会感到困惑。
我了解到,当我们想从函数返回一些数据时,我们在返回类型中写入数据类型,例如在返回 int 类型的数据的情况下,返回类型将为 int。
因此,当我们想从函数返回某个变量的地址时,我们将返回数据类型写为某种指针类型,因为内存地址指向某种内存位置,这就是为什么返回类型是指针类型的原因我想澄清的是现在这意味着c ++中地址的数据类型是指针类型
解决方案
这是一般工厂函数的工作方式:
class HobNob;
...
HobNob* CreateHobNob()
{
return new HobNob();
}
...
HobNob* myHobNob = CreateHobNob();
当然,在现实生活中我们永远不会使用裸指针,但总的想法是我们需要指针,因为我们不想传递HobNob
s (可能很大),而是将句柄(指针)传递给在堆上创建的指针。我们现在还可以完全控制它的生命周期。
推荐阅读
- python - 为什么使用我的代码请求此 URL 会给出 405 响应?
- android - 我应该使视图无效吗?
- css - 使用 AngularJS 更改字体颜色的简单尝试,为什么它不起作用?
- batch-file - 在 Bat 文件中,如何忽略调用命令的输出
- ethereum - 从 Metamask 获取所有以太坊账户
- java - 将公共方法的实现放在私有方法中如何防止干扰消费者?
- vba - 如何循环宏?
- python - Python乌龟追踪器功能不起作用
- python - 以下两种 format() 方法有什么区别?
- android - Setter 需要不支持类型的参数:类 com.androidplot.ui.widget.TextLabelWidget