C++ Delete 运算符17 Mar 2025 | 5 分钟阅读 delete 运算符用于在 C++ 语言程序运行时释放使用 new 运算符、calloc 和 malloc() 函数等动态创建的内存空间。换句话说,delete 运算符用于从堆中释放数组和非数组(指针)对象,这些对象是由 new 运算符动态分配以将变量放入堆内存的。我们可以在程序中使用 delete 运算符或 delete [ ] 运算符来删除已释放的空间。delete 运算符具有 void 返回类型,因此它不返回值。 ![]() delete 运算符的语法我们可以使用 delete 运算符删除特定的元素或变量,如下所示 同样,我们可以使用 delete [] 运算符删除已分配的内存块。 使用 delete 运算符释放每个变量内存位置的程序我们来看一个例子,使用 delete 运算符从堆内存中删除每个变量已分配的内存空间。 Program1.cpp 输出 Enter first number: 5 Enter second number: 8 Sum of pointer variables = 13 使用 delete [] 运算符删除数组对象的程序让我们创建一个程序,使用 C++ 中的 delete [] 运算符删除为数组对象动态创建的内存空间。 Program2.cpp 输出 Enter total number of elements to be entered : 7 Enter the numbers: Number 1 is 45 Number 2 is 600 Number 3 is 78 Number 4 is 93 Number 5 is 29 Number 6 is 128 Number 7 is 32 Numbers are : 45 600 78 93 29 128 32 使用 delete 运算符删除空指针的程序让我们考虑一个使用 C++ 编程语言中的 delete 运算符删除空指针的程序。 Program3.cpp 输出 The NULL pointer is deleted. 使用 delete 运算符删除带值或不带值的指针让我们考虑一个使用 C++ 中的 delete 运算符删除带值或不带值的指针变量的示例。 Program4.cpp 输出 The value of ptr is: 1415071048 The value of ptr2 is: 10 使用 malloc 函数分配动态内存,然后使用 delete 运算符删除的程序让我们考虑一个使用 malloc 函数创建动态内存,然后使用 delete 运算符删除 C++ 编程语言中已分配内存的示例。 Program6.cpp 输出 Dynamic memory is deleted using the delete operator. 删除用户定义数据类型变量的程序让我们编写一个程序来演示使用 delete 运算符删除用户定义对象。 Program7.cpp 输出 Custom deletion of size 1 Custom deletion of size 24 使用 delete 运算符删除 void 指针的程序让我们创建一个程序,使用 C++ 中的 delete 运算符释放 void 指针的内存空间。 Program8.cpp 输出 The void pointer is deleted using the delete operator. 下一主题如何在 C++ 中连接两个字符串 |
在本文中,我们将讨论 C++ 中的 explicit 关键字及其示例。explicit 关键字与 C++ 中的构造函数一起使用,以防止它们进行隐式转换。C++ 的 explicit 构造函数标记为不隐式转换类型。这一点很重要,因为隐式转换...
阅读 3 分钟
什么是 C++ STL?在 C++ 中,我们有 STL,也称为 Standard Template Library,它具有大量内置函数,我们可以通过导入库直接使用它们。同样,STL 中有一个 numeric 库,并且...
阅读 3 分钟
isprint() 是 C++ 中一个预定义的函数,用于处理字符串和字符。字符串和字符函数所需的头文件分别是 cstring 和 cctype。如果参数包含任何可打印字符,则此函数用于确定该事实。在 C++ 中,有许多...
阅读 4 分钟
在本文中,我们将讨论 C++ 中的游戏引擎,包括其历史、制作和不同方面。什么是游戏引擎?“游戏引擎”是指一组软件工具。它主要用于简化视频游戏的创建。这些引擎可以……
阅读 16 分钟
在本文中,我们将讨论以及它们的特性和示例。在 C++ 语言中,关联数组将引用将键和值关联起来的数据结构。它们对于根据相应的键存储和检索值非常有效。这些关联数组是通过各种……实现的
阅读 4 分钟
在本文中,我们将讨论 C++ 中的 deque::front() 和 deque::back() 及其示例。Deque,即双端队列,是可以在两端扩展和压缩的序列容器。它们与 vector 类似,但在元素插入和删除方面效率更高……
阅读 3 分钟
除了使用指针直接修改内存地址之外,C++ 还提供了强大的内存管理功能。虽然指针对于动态内存分配至关重要,但管理不当可能导致内存泄漏和不可预测的行为等问题。Unique_ptr 是...的关键部分。
阅读 3 分钟
在本文中,您将了解 C++ 中的 mbrtoc32() 函数,包括其语法、参数和示例。使用标准库中的 mbrtoc32() 函数,可以将 C/C++ 中的多字节字符序列转换为宽字符(更准确地说,是 char32_t 表示的 32 位宽字符)……
阅读 3 分钟
数组是 C++ 中的重要数据结构,因为它们允许在单个变量中存储和操作多个值。它们用于存储一组元素,这些元素都具有相同的数据类型,并且存储在连续的内存中...
阅读 4 分钟
哈希表链式处理到底是什么?链式处理是一种哈希表冲突避免技术。当哈希表中的两个键被哈希到同一个索引时,就会发生冲突。冲突是一个问题,因为哈希表中的每个槽都应该只包含一个元素。...
阅读9分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India