我有个基本问题。
通常,使用placement,我们可以在预先分配的内存上构造对象。
举个例子: My_CLass大小为20字节,希望为5个对象创建一个池。因此,分配了5*20 => 100个字节,池的起始地址为0x1234。
现在,使用placement,我已经在内存池中放置了3个对象。
我的问题是,
发布于 2018-03-14 07:32:56
在本讨论中,“池”一词被用来表示某种预先分配的内存,这些内存应该包含一组特定类型的对象(可以是一个类,也可以是不同的类,相关的或不相关的)。
请注意,这种情况与堆中的常规new分配完全没有区别,但如果您有一个特定的池,它能够跟踪池中的元素数,而普通堆不允许直接这样做(您可能会发现总共有多少分配,但这将是任何东西,从文件缓冲区分配和动态字符串到X类型的对象,Y类型-堆本身不跟踪特定分配的目的,这是“其他人的问题”)。
https://stackoverflow.com/questions/49271667
复制相似问题