在C ++中放置新运算符
在本节中,我们将看到C++中的placementnew运算符是什么。此新放置是new运算符的另一个变体。普通的新运算符执行两件事。它分配内存,然后在分配的内存中构造一个对象。
new运算符在堆部分中分配内存并在那里构造对象。但是对于放置new运算符,它将在给定地址构造对象。要释放内存,如果使用new运算符分配内存,则可以使用delete关键字。但是对于新放置,没有删除位置功能。
简而言之,placementnew允许您在已分配给给定变量的内存上“构造”对象。这对于优化很有用,因为它可以更快地不重新分配和重用已经分配给它的相同内存。可以如下使用:
new (address) (type) initializer
我们可以指定一个地址,以在该地址上构造给定类型的新对象。例如。
范例程式码
#include<iostream>
using namespace std;
int main() {
int a = 5;
cout << "a = " << a << endl;
cout << "&a = " << &a << endl;
//新的展示位置将X的值更改为100-
int *m = new (&a) int(10);
cout << "\nAfter using placement new:" << endl;
cout << "a = " << a << endl;
cout << "m = " << m << endl;
cout << "&a = " << &a << endl;
return 0;
}输出结果
a = 5 &a = 0x22fe34 After using placement new: a = 10 m = 0x22fe34 &a = 0x22fe34
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短