Моя цель - создать вектор, содержащий много заранее подготовленных (у меня нет двух элементов данных до тех пор, пока я не буду, но я хочу выделить столько, сколько я могу в непрерывной памяти) экземпляры моего объекта в непрерывной памяти, а затем в моей программе я могу быстро использовать одну из этих подготовленных «оболочек», чтобы быстрее создать экземпляр объекта. Самое главное, что все эти объекты будут расположены в одинаковых адресах постоянной памяти.Пул объектов - создание объектов позже не работает
Для достижения выше, я сделал это:
vector<MyClass*>* v = new vector<MyClass>();
v.reserve(10000);
//Later on....
// I want to create my object in the continuous memory I "reserved"
// and have a variable name to it:
v->push_back(MyClass m(10,20));
process(m);
Но я не могу его собрать, пока еще есть имя переменной на объекте .... вот MyClass:
class MyClass{
public:
MyClass();
MyClass(int a, int b);
MyClass(const MyClass& m);
int a;
int b;
private:
//Made above example simpler by putting everything public
}
'вектор v = новый вектор' thats Java. Также обратите внимание, что во второй строке вы используете точку ('.') вместо' -> ' – Manu343726