何时在C ++中使用new运算符,何时不应该使用它?

使用new运算符表示请求在堆上分配内存。如果有足够的内存可用,它将初始化内存并将其地址返回给指针变量。

仅当数据对象应保留在内存中直到调用delete时,才应使用new运算符。否则,如果不使用new运算符,则超出范围时将自动销毁该对象。换句话说,使用new的对象将被手动清理,而其他对象超出范围时将被自动清理。

以下是new运算符的语法。

pointer_variable = new datatype;

在上面的语法中,pointer_variable是指针变量,该指针变量将向其返回内存地址,而datatype是该内存的内置数据类型。

给出了一个演示使用new运算符的程序,如下所示。

示例

#include <iostream>

using namespace std;

int main () {

   int *ptr1 = NULL;

   ptr1 = new int;

   float *ptr2 = new float(223.324);

   *ptr1 = 28;

   cout << "Value of pointer variable 1 : " << *ptr1 << endl;

   cout << "Value of pointer variable 2 : " << *ptr2 << endl;

   delete ptr1;

   delete ptr2;

   return 0;

}

输出结果

上面程序的输出如下。

Value of pointer variable 1 : 28

Value of pointer variable 2 : 223.324

现在让我们了解上面的程序。

new运算符用于初始化内存并将其地址返回到指针变量ptr1和ptr2。然后显示存储在由ptr1和ptr2指向的存储位置中的值。最后,使用delete运算符释放内存。

显示此的代码段如下-

int *ptr1 = NULL;

ptr1 = new int;

float *ptr2 = new float(223.324);

*ptr1 = 28;

cout << "Value of pointer variable 1 : " << *ptr1 << endl;

cout << "Value of pointer variable 2 : " << *ptr2 << endl;

delete ptr1;

delete ptr2;

以上是 何时在C ++中使用new运算符,何时不应该使用它? 的全部内容, 来源链接: utcz.com/z/345379.html

回到顶部