Evet, orada (hemen hemen) var. std::unique_ptr<T[]>
. Birincil şablon
Alternatif olarak, kendi sınıfında std::vector
sarın ve arayüz kısıtlayabilir uygun arayüz sağlar, bu durumda, için kısmi ihtisas Operatörü ([]
, hiçbir operatör *
vs.) vardır. Hatta yapabileceği kamuya açık olmayan miras ve yayıncılık onun arayüzünün sadece ilgili kısımları kullanılarak std::vector
bir sınıf türetmek tarafından: Bu ihtiyacın var Neden
template <class T, class A = std::allocator<T>>
struct FixedVector : private std::vector<T, A>
{
using FixedVector::vector::vector;
using FixedVector::vector::operator=;
using FixedVector::vector::get_allocator;
using FixedVector::vector::at;
using FixedVector::vector::front;
using FixedVector::vector::back;
using FixedVector::vector::data;
using FixedVector::vector::begin;
using FixedVector::vector::cbegin
using FixedVector::vector::end;
using FixedVector::vector::cend;
using FixedVector::vector::empty;
using FixedVector::vector::size;
using FixedVector::vector::operator[];
};
? Neden bir vektör veya dizi kullanamazsınız? – user463035818
Türlerimin olabildiğince doğru olmasını seviyorum. Bazı 'vektör' kullanmayı planlıyorum ama boyutunu sadece bir kez ayarlıyor ve sadece değerlerini değiştiriyorum. Bunu bir yorum yoluyla değil, tip sistemiyle belgeleyebilir miyim? – tohava
@Cyber - ama sadece koparmasız değer türleri için istemiyorum, her tür için istiyorum. – tohava