有没有一种简单的方法在C中默认构造泛型类型,没有分配器实例?

背景是:
将包含类型T的容器和char * p写入内存区域.让我们假设指针已经适合于类型T对齐 – 对齐问题不是问题的一部分.
如何在该内存区域上默认构造元素?

((*T)(p))->T();

适用于类,但不适用于某些内置类型.

((*T)(p)) = 0; // or simply memset

对于整数类型,指针.
这两个涵盖了一切,工会和什么不是?
是否有最佳实践或某些标准库功能?
std :: allocator :: construct可以做到这一点,例如, std :: vector使用,但它不是静态方法,所以我需要它的一个实例.是否有一些独立或静态功能可以做到这一点?

– 编辑 –

是的,答案是显而易见的,我今天愚蠢 – 安置新的
顺便说一句,现在我正试图破坏这个元素……

最佳答案
“Placement new”是要寻找的术语.它是一个标准的库运算符new重载,它实际上并不分配内存,只是返回传递给它的任何指针.

转载注明原文:有没有一种简单的方法在C中默认构造泛型类型,没有分配器实例? - 代码日志