草庐IT

PreAllocator

全部标签

c++ - 是否可以在已分配的内存上初始化 std::vector ?

我的问题很简单,我很惊讶我找不到任何相关的东西。可能这很容易或完全愚蠢(或者我无法搜索)。正如标题所说,是否可以在已分配的内存上使用std::vector,因此它不会从头开始分配新元素,而是使用给定的元素。我会把它想象成这样:T1*buffer=newT1[some_size];std::vectorv(buffer,some_size);//相反的很简单并且(可能不漂亮但是)有效:std::vectorv(some_size);T1*buffer=&v[0];保证存储是连续的,所以和迭代器一样安全。我的动机很简单。我传递了一些原始内存数据,即字节,并且由于我知道它们在其他一些地方的解