我想創建一個對象bool使用類型X對象的向量。當我創建矢量時:創建對象池
vector<X>* v = new vector<X>;
v.reserve(10000);
我希望儘可能完成最少的工作。只會調用默認的構造函數(我的默認構造函數對於X是空的)?
後來在我的程序中,如何使用對象池「創建」我的對象?難道是這樣的:
int y = get_next_object_in_pool();
X x = v[y];
其中get_next_object_in_pool()
只是不斷的索引向量中的下一個空閒的指數?
需要注意的是,你應該寫'向量 * V =新的向量;'或'矢量 V();' –
此代碼救了我一次年前:對象池的一般C++類(HTTP:// www.codeproject.com/Articles/3968/Object-Pooling-for-Generic-C-classes)當你使用普通的'new'和'delete'操作符從池中獲取對象時,它對你現有的代碼的入侵很少,並且返回他們。 –
@MassoodKhaari謝謝你指出我缺少的指針參考。 – user997112