我正在使用向量,但出于多种原因,使用指针引用单个元素。问题是当我添加元素时,向量会调整大小并可能将元素移动到另一个更大的内存地址。这使我的指针无效。
为了避免重新分配,我vector<T>::reserve
在使用向量之前调用。但是,在某些情况下,我没有保留足够的空间。在这种情况下,我希望向量断言或抛出异常,而不是尝试静默调整大小。
有没有办法使用向量或其他数据结构来做到这一点?我可以使用 C99 可变长度数组吗?如果可以,如何在构造函数中将其初始化为正确的长度?还是我需要推出自己的可显式调整大小的矢量?