int MyArray[100]; // считаете, что это не массив из 100 элементов, а выделенная под 100 элементов память.
int MyArrayCount = 0; // счетчик количества элементов в массиве
// функции добавления/удаления элементов в массив
void push_back(int x)
{
MyArray[MyArrayCount] = x;
++MyArrayCount;
}
如果分配的内存允许 - 是的。
如果您实现从放置在数组中的对象的数量来存储不同的分配内存的概念。为此,您需要存储已添加到数组中的元素数(指向最后添加的元素的迭代器)。
或者只是将您的数组包装在一个
std::Array<>
. :)而且它的实现很简单。当声明一个数组时,你认为你只是为这个数量的元素分配了内存,并且你只是在特殊函数的帮助下将元素添加到数组中。自然地,最好用一个类来做这件事。但你也可以裸奔
c
您可以自己编写包装器——并不复杂。您可以使用已经编写好的
std::Array<>
.如果您不关心对象所有权(内存的分配/删除),那么包装器很简单(检查数组是否越界由您决定)