C++ placement new使用

news/2024/10/21 5:45:07/

placement new重载来原来的operator new,且placement new不能被即需重载

placement new是在原有的一块地址上继续创建一个对象,注意对象类型要一致,这样的操作的优势有两个:

1、不用花时间在找合适的空间存放新对象,减少了性能以及时间开销

2、在同一块地址生成对象,则不会另开辟空间,减少了空间开销

placement new在对时间要求特别高的时候,会经常使用

使用:

#include "iostream"using namespace std;class PlaceMent {
public:PlaceMent(int out_value) : value(out_value) {}void PrintValue() {cout << value << endl;}~PlaceMent() {cout << "des" << endl;}
private:int value;
};int main() {PlaceMent* rat = new PlaceMent(13);rat->PrintValue();PlaceMent* place = new(rat) PlaceMent(10);rat->PrintValue();place->PrintValue();int x = 100;cout << x << endl;int* mem = new(&x) int(2);cout << x << endl;cout << *mem << endl;place->~PlaceMent();return 0;
}


placement new出来的对象需要销毁则调用其析构函数即可


http://www.ppmy.cn/news/1116522.html

相关文章

【前端打怪升级日志之微前端框架篇】微前端qiankun框架子应用间跳转方法

参考链接qiankun官网&#xff1a;微应用之间如何跳转&#xff1f; 1.主应用、子应用路由都是hash模式 主应用根据 hash 来判断微应用&#xff0c;无需考虑该问题 2.主应用根据path判断子应用 方法实现适用条件参数传递存在问题a标签跳转<a href"/toA"></…

Dubbo3应用开发—XML形式的Dubbo应用开发和SpringBoot整合Dubbo开发

Dubbo3程序的初步开发 Dubbo3升级的核心内容 易⽤性 开箱即⽤&#xff0c;易⽤性⾼&#xff0c;如 Java 版本的⾯向接⼝代理特性能实现本地透明调⽤功能丰富&#xff0c;基于原⽣库或轻量扩展即可实现绝⼤多数的 微服务治理能⼒。更加完善了多语言支持&#xff08;GO PYTHON R…

前端实现打字效果

前端实现打字效果 不带光标 只一次播放 HTML <!-- 需要在初始化的时候不显示文字 --> <div id"typing"></div>CSS #typing {position: relative;font-size: 24px;font-family: Arial, sans-serif;padding: 10px; }JS const text "要显…

LeetCode 78 子集

1、在使用回溯算法时&#xff0c;循环中&#xff0c;对于数组和字符串的处理是不一样的 数组是在回溯时indexi1&#xff0c;而字符串是在循环时便加1&#xff0c;然后回溯使用的indexi。&#xff08;子集使用的是i1&#xff09; 2、似乎使用new ArrayList<>(LinkedList…

大数据Hadoop高可用

HA高可靠集群 hdfs中的HA搭建&#xff1a; 三个namenode如何保证数据一致&#xff1f; fsimage: 更新频率低, 由一台进行修改&#xff0c;剩下的所有机器进行同步edits: 更新频率高&#xff0c;JN日志节点&#xff08;hadoop的专属zk&#xff0c;只做数据全局一致性保证&…

MySQL 某个字段存储不了内容

1. 原因 某个字段存储的内容过大 2. 解决 修改max_allowed_packet参数 max_allowed_packet参数是指mysql服务器端在一次传送数据包的过程当中最大允许的数据包大小。如果超过了设置的最大长度&#xff0c;则会数据库保持数据失败。 2.1 查询参数 show variables like %max…

数据库计算机三级等级考试--数据库技术相关知识点和笔记

数据库计算机三级等级考试–数据库技术 计算机三级等级考试笔记,是博主通过计算机三级数据库技术考试的相关笔记&#xff0c;此篇博客&#xff0c;不仅适合需要考计算机三级考试的各位考生&#xff0c;也适合在职场处理关于数据库的部分操作&#xff0c;个人认为算是一篇使用性…

Angular变更检测机制

前段时间遇到这样一个 bug&#xff0c;通过一个 click 事件跳转到一个新页面&#xff0c;新页面迟迟不加载&#xff1b; 经过多次测试发现&#xff0c;将鼠标移入某个 tab &#xff0c;页面就加载出来了。 举个例子&#xff0c;页面内容无法加载&#xff0c;但是将鼠标移入下图…