SORU
16 ŞUBAT 2010, Salı


Std::Kopyalama Bir push_back ile nesneleri vektör?

Valgrind ile soruşturma bir sürü sonra, sonuç std yaptım::vektör push_back istediğiniz bir nesnenin bir kopyasını oluşturur.

Bu gerçekten doğru mu ? Vektör başvuramaz tutmak ya da bir kopya olmadan bir nesneye bir işaretçi ?!

Teşekkürler

CEVAP
16 ŞUBAT 2010, Salı


Evet, std::vector<T>::push_back() bağımsız bir kopyasını oluşturur ve vektör saklar. Eğer vektör nesnelere işaretçiler saklamak istiyorsanız, std::vector<whatever> yerine std::vector<whatever*> Bir oluşturun.

Ancak, nesne işaretçileri tarafından başvurulan vektör onları (akıllı işaretçiler sorunu çözmek deyim bu DEMİRYOLU kullanan) başvuruda bulunduğu süre geçerli kalır emin olmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Christopher Bill

    Christopher

    30 NİSAN 2009
  • Erica Griffin

    Erica Griffi

    8 HAZİRAN 2009
  • super1988guy

    super1988guy

    9 Aralık 2007