#include <iostream>
class Object {
public:
int x;
Object() { }
Object(int x) {
this->x = x;
}
};
class SomeClass {
public:
Object array[10];
int n;
SomeClass() { n = 0; }
void insert(Object o) {
array[n++] = o;
}
};
int main() {
SomeClass s;
Object test = Object(4);
s.insert(test);
return 0;
}
У меня есть этот пример, где я предварительно выделить массив объектов в SomeClass
, а затем в другом способе, main
в этом примере, я создать еще один объект и добавить его в массив в SomeClass
Добавление объектов в предварительно выделен массив объектов
Одна вещь, я думаю, что мне нужно сделать, это перейти от array[10]
к массиву указателей, чтобы я только создавал объекты, когда мне действительно нужно.
Но мой вопрос в том, что происходит с памятью, первоначально выделенной для array[0]
, когда я делаю «array[n++] = o
», заменяя его новым объектом «o»? он получает выделение?
Нельзя использовать массив указателей. Используйте «вектор», если вы хотите изменить размер массива. –