Nik*_*ita 3 c++ memory memory-management vector
我想实现我自己的简单矢量类.T即使保留的内存耗尽,此向量也应支持推送新元素(类型).所以,我需要分配一个新的内存块,复制元素,然后释放旧的内存块.
如果我使用new T[]然后创建一个内存块,那么我必须使用它来释放它delete[],这将使向量中的每个元素的构造函数被调用.我不希望这样,因为我想到只使用复制旧矢量memcpy().
所以我想出了一个决定是分配内存使用new char[]并使用placement new来填充数组.当我需要重新分配保留的内存时,我只是memcpy()在该内存块上使用,然后使用它来释放它delete[].
这是合理的解决方案吗?
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |