SORU
29 EKİM 2008, ÇARŞAMBA


Güvenli STL vector depolama her zaman bitişik olduğunu varsayalım.

Eğer boyutları olan bir STL vector, eleman 0 adresini al ve vektör kalan bellek takip edecek varsaymak güvenli mi?

örneğin

vector<char> vc(100);
// do some stuff with vc
vc.resize(200);
char* p = &vc[0];
// do stuff with *p

CEVAP
29 EKİM 2008, ÇARŞAMBA


C 03 standart (23.2.4.1): gelen

Bir vektör öğeleri saklanır eğer v ise bitişik, yani bir vektör T bazı. yazın itaat bool dışında, için == &v kimlik &v[n] [0] n 0 <= n < v. size().

Ama dizinin yeniden (herhangi bir işaretçiler ve kullanımına geçersiz) elemanları ekledikten sonra olmaya dikkat et.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • pleated-jeans

    pleated-jean

    6 HAZİRAN 2013