Belge P0122R dan (2016/02/12) Kütüphane Evrim Çalışma Grubu (LEWG)
resmen tipini yeniden adlandırır array_view
içinspan
:
Değişiklik günlüğü
R0'a göre değişiklikler
- Çeşidi değiştirildi ismi nereden önerilmektedir
array_view
için span
Kona toplantısında LEWG geri bildirimlerini takip.
- [...]
Ayrıca okuyabiliriz:
Standart Üzerindeki Etkisi
Bu öneri saf bir kitaplık uzantısıdır. Standart sınıflarda, işlevlerde veya başlıklarda herhangi bir değişiklik gerektirmez. P0257'debyte
önerilen tipe ve tür örtüşme davranışındaki değişikliklere bağlı olabilirse geliştirilebilir .
Bununla birlikte - eğer benimsenirse - bu yeni tip için bazı standart kütüphane işlevlerini aşırı yüklemek faydalı olabilir (bir örnek olabilir copy()
).
span
standart C ++ (C ++ 11) ile uygulanmıştır ve ticari ofis üretkenlik yazılımının yanı sıra C ++ kodu için ticari bir statik analiz aracı içinde başarıyla kullanılmaktadır. Açık kaynak, referans uygulaması https://github.com/Microsoft/GSL adresinde mevcuttur .
Bir sonraki bölümde, bu belgeler salt okunur ve okuma-yazma ( değiştirilebilir ) erişimlerini sunar:
Öğe türleri ve dönüştürmeler
span
ValueType
soyut bir sınıf türü olmayan eksiksiz bir nesne türü olması gereken şablon parametresi aracılığıyla öğe türüyle yapılandırılmalıdır .
span
kapsüllediği sıraya salt okunur veya değiştirilebilir erişimi destekler. Salt okunur verilere span<const T>
erişmek için, kullanıcı bir tanımlayabilir ve değiştirilebilir verilere erişim için bir span<T>
.
[...]
Ayrıca bkz.Kılavuzlar Destek Kitaplığı İncelemesi:span<T>
Marius Bancila'dan (Mart 2016) şunları tanımlamaktadır span
:
Kuralları Destek Kitaplığı açıklanan türleri ve işlevleri bazılarının bir Microsoft uygulamasıdır C ++ Çekirdek Yönergeleri
tarafından tutulan Standart C ++ Vakfı . GSL tarafından sağlanan türler arasında span<T>
eski adıyla array_view<T>
.
span<T>
işaretçiler (ve boyut sayacı) veya standart kaplar ( std::vector
veya gibi) yerine kullanılması önerilen, sahip olunmayan bir bitişik bellek aralığıdır std::array
.