C++11 分段错误试图将数组 (<algorithm>) 动态复制到向量中

C++11 Segmentation Fault trying to copy array (<algorithm>) into vector dynamically

当我尝试将固定大小的数组复制到默认构造的向量时,出现段错误。我很困惑,因为我一直认为向量是灵活的容器,可以根据吸收的动态数据调整大小。如果我在编译时为向量分配 space 复制工作但我如何将这个数组复制到向量而不在编译时分配大小?

int numbersArr[] {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
vector<int> NumbersVec; //Default constructor
// vector<int> NumbersVec(10); If I allocate the memory in compile time it works

copy(numbersArr, numbersArr + 10, NumbersVec.begin()); //Segmentation fault (core dumped)

目标数组需要有足够数量的元素作为源。因此,根据需要使用下方添加新元素。

#include <iterator>
copy(numbersArr, numbersArr + 10, back_inserter(NumbersVec));

`