c++ - 隐式调用是什么意思?
问题描述
在 c++ 中,我读过构造函数在需要分配内存时对运算符 new 和 delete 进行隐式调用。语句的含义是什么?
解决方案
这本书谈论的是有些类隐藏了它们正在为您进行动态分配。让我们看一个简单的字符串类。在复制为 c 字符串的构造函数中,它将“隐式”调用new
为字符串分配存储空间。您不必手动调用 new 并为字符串类提供正确大小的指针,构造函数会为您执行此操作,因此作者将其称为“隐式调用”
这就是他想要达到的目的。new
构造函数和析构函数可以调用delete
它们自己来处理内存分配,从而使您不必这样做。这就是大多数标准容器的工作方式。他们分配所需的存储空间,您无需担心。这是RAII 的核心部分(资源获取是初始化),并且是正确 C++ 设计的一个非常有用和主要的部分。
推荐阅读
- uwp - 即使在用户控件中处理后,父页面的 keyDown 事件也会触发
- html - 如何使我的哪个具有背景图像可链接?
- pandas - 将熊猫中的两个连续事件发生子集
- mysql - MySQL80服务自动停止
- flutter - 未处理的异常:类型 '_InternalLinkedHashMap
' 不是 'GeoPoint' 类型的子类型 - javascript - 将对象数组重构到更深层次
- ios - 动态 UITextView 大小 (Swift 4)
- microsoft-graph-api - 如何永久获取 OneDrive API 下载地址
- javascript - 在解决 sinon 时获得重复迭代,无法在 nodejs 中进行单元测试
- php - ElasticSearch - PHP - 抓取最后一个查询