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

  • Austin Evans

    Austin Evans

    5 AĞUSTOS 2007
  • HER0R

    HER0R

    16 Aralık 2007
  • mipd1980

    mipd1980

    25 EKİM 2006