numaralı telefona belleği doğru şekilde ayırma std::vector
'u bir programlama alıştırması olarak uygulamaya çalışıyorum.Vektör
Aşağıdaki kod parçasını inceleyin:
template <class T, class Allocator = std::allocator<T>>
class vector
{
public:
using size_type = size_t;
using allocator_type = Allocator;
...
private:
T* m_data;
allocator_type m_alloc;
size_type m_capacity;
...
};
m_data
T*
yazın sahiptir. std::allocator_traits<allocator_type>::pointer
'u döndüren std::allocator_traits<allocator_type>::allocate(m_alloc, m_capacity)
kullanarak belleği ayırmam gerekiyor.
pointer
dolaylı
T*
için döküm ve
m_data
için
allocate
döndü değeri atamak edilebileceğini kabul edebilir?
Değilse, belleği vector
içinde doğru şekilde nasıl ayırabiliriz?
Kendi ayırıcınızı yapabilirsiniz. –
İlgili: http://stackoverflow.com/q/28521203/ – dyp