C++ 中的新置运算符
在本节中,我们将了解 C++ 中的新置运算符。此新置运算符是 new 运算符的另一种形式。普通的 new 运算符执行两件事。它分配内存,然后在分配的内存中构造对象。
new 运算符在堆部分分配内存,并在其中构造对象。但对于新置 new 运算符,它在给定的地址构造对象。要释放内存,如果内存是使用 new 运算符分配的,我们可以用 delete 关键字。但对于 新置 new 没有 新置 delete 功能。
简而言之,新置 new 允许你在已分配给给定变量的内存上“构造”一个对象。由于不必重新分配和重复使用已分配给它的相同内存,这有助于优化,速度更快。它可以用作以下用法
new (address) (type) initializer
我们可以指定一个地址,以便在其上构造给定类型的对象。例如。
示例代码
#include<iostream>
using namespace std;
int main() {
int a = 5;
cout << "a = " << a << endl;
cout << "&a = " << &a << endl;
// Placement new changes the value of X to 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP