SORU
30 AĞUSTOS 2012, PERŞEMBE


İNEK std yasallığı::C 11 dize uygulama

Bu işler benim bildiğim kadarıyla copy-on-write değil uygun bir şekilde uygulamak için uygun bir std::string C 11, ama ne zaman geldi tartışma son zamanlarda buldum kendimi aciz direkt olarak destekleyen bir ifade.

C 11 std::string İNEK tabanlı uygulamaları kabul etmediğini doğru muyum?

Eğer öyleyse, bu kısıtlama açıkça bir yerde yeni bir standart içinde belirtildiği (nerede)?

Ya bu kısıtlama ima, std::string İNEK tabanlı bir uygulama yapılmasına engel değildir std::string yeni şartları kombine etkisi olduğunu anlamda. Bu durumda, bölüm ve ayet bir stil ile ilgilenen türetme olurdum 'C 11 etkili std::string İNEK tabanlı uygulamalar yasaklar'.

CEVAP
30 AĞUSTOS 2012, PERŞEMBE


Standardına göre 21.4.1 p6, kullanımına hükümsüzlük/başvurular için izin verilir, çünkü yasak değil

— herhangi bir standart kütüphane için bir değişkeni referans alarak işlev olmayan sabit bir değişken olarak basic_string.

— Olmayan sabit arama üye fonksiyonları, operatör hariç, [],, ön, arka, başlar, rbegin, sonunda, parçalamak.

İNEK bir dize için, olmayan sabit operator[] arama paragraf tarafından izin verilmeyen bir kopyasını (ve başvuruları geçersiz), yapma yukarıda gerektirecektir. Dolayısıyla, artık yasal C 11 İNEK bir dize.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eric Enge

    Eric Enge

    2 Kasım 2009
  • jbignacio

    jbignacio

    13 Mart 2006
  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006