std::vector<CustomClass *> whatever(20000);
veya:
std::vector<CustomClass *> whatever;
whatever.reserve(20000);
İlki, dizinin gerçek boyutunu belirler - yani, onu 20000 işaretçi vektörü yapar. İkincisi, vektörü boş bırakır, ancak 20000 işaretçi için yer ayırır, böylece yeniden tahsis etmek zorunda kalmadan bu kadarını ekleyebilirsiniz (en fazla).
En azından benim deneyimime göre, bunlardan herhangi birinin performansta büyük bir fark yaratması oldukça sıra dışı - ancak her ikisi de bazı durumlarda doğruluğu etkileyebilir. Özellikle, yeniden tahsis olmadığı sürece, vektördeki yineleyicilerin geçerli kalması garanti edilir ve boyutu / ayrılmış alanı ayarladığınızda, yapmadığınız sürece herhangi bir yeniden tahsis olmayacağından emin olursunuz. t boyutu bunun ötesinde artırın.
std::vector
İhtiyaçlarınıza daha iyi uyan herhangi bir referansta bunun için bir kurucu ve iki işlev vardır .