何时在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 : 28Value 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