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

  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010