c++ 定点 new 及其汇编解释

(1)

++ 代码距离:

cpp 复制代码
#include <new>  // 需要包含这个头文件
#include <iostream>

int main() 
{
    char buffer[sizeof(int)];       // 分配一个足够大的字符数组作为内存池
    int* p = new(&buffer) int(42);  // 使用 placement new 在 buffer 上构造一个 int 对象

    std::cout << *p << std::endl;  // 输出 42

    // 注意:这里不需要(也不应该)使用 delete 来释放 p,因为 buffer 并不是通过 new 分配的。
    // 你需要手动调用析构函数来销毁对象:
    p->~int();

    return 0;
}

(2)接着咱们也写一个例子。弄清楚了一点:定点 new 的关键字 new 后面可以留一个空格再跟地址。语法上是正确的。这个不测试,就没法确定这个结论。

++ 汇编展开下这个函数 new 函数:

(3)

谢谢

相关推荐
汉汉汉汉汉21 分钟前
C++11新特性详解:从列表初始化到线程库
c++
William一直在路上24 分钟前
Python数据类型转换详解:从基础到实践
开发语言·python
看到我,请让我去学习1 小时前
Qt— 布局综合项目(Splitter,Stacked,Dock)
开发语言·qt
GUET_一路向前1 小时前
【C语言防御性编程】if条件常量在前,变量在后
c语言·开发语言·if-else·防御性编程
曳渔1 小时前
UDP/TCP套接字编程简单实战指南
java·开发语言·网络·网络协议·tcp/ip·udp
楼田莉子1 小时前
C++算法题目分享:二叉搜索树相关的习题
数据结构·c++·学习·算法·leetcode·面试
三千道应用题2 小时前
WPF&C#超市管理系统(6)订单详情、顾客注册、商品销售排行查询和库存提示、LiveChat报表
开发语言·c#·wpf
hqxstudying2 小时前
JAVA项目中邮件发送功能
java·开发语言·python·邮件
咪咪渝粮2 小时前
JavaScript 中constructor 属性的指向异常问题
开发语言·javascript
最初的↘那颗心2 小时前
Java HashMap深度解析:原理、实现与最佳实践
java·开发语言·面试·hashmap·八股文