c++ - c++placement new 如何构造一个对象
问题描述
当我阅读 tinystl 的代码时,我发现以下代码
struct placeholder{};
void* operator new(size_t, placeholder, void *ptr)
{
return ptr;
}
为什么需要占位符?上面和下面的代码有什么区别?
void *operator new(size_t, void *ptr)
{
return ptr;
}
解决方案
请参阅此页面:https ://en.cppreference.com/w/cpp/memory/new/operator_new
它的对齐方式。
推荐阅读
- sql - 他不执行该程序。第一步失败。甲骨文
- yocto - “审计”未包含在 Yocto 最终图像中
- javascript - 递归编程的性能
- c - SSL 例程的 ssl 握手失败:openssl 升级到 1.1.1c 后 ssl3_finish_mac 失败
- python - pytorch:“不支持多目标”错误消息
- java - ItemStreamException:无法初始化阅读器 原因:IllegalStateException:流已经初始化。重新开放前关闭
- javascript - 从 ASP.NET Core v2.2 WebAPI 应用程序发送响应标头
- node.js - 寻找一种将节点应用程序打包到作为 Windows 服务运行的独立 Windows 可执行文件的方法
- android - 将字节转换为 base64 字符串时结果得到 \n
- c# - 将 Tiff 内存流转换为位图