Biblioteki C/C++
ptr_list
[szablon klasy] Kontener reprezentujący listę przechowującą wskaźniki danego typu.Składnia
#include <boost/ptr_container/ptr_list.hpp>
namespace boost
{
template
<
class T,
class CloneAllocator = heap_clone_allocator,
class Allocator = std::allocator < void *>
>
class ptr_list
: public ptr_sequence_adapter < T, std::list < void *, Allocator >, CloneAllocator >
{
};
}
Opis szczegółowy
Kontener
ptr_list jest odpowiednikiem kontenera
list. Istotną różnicą między kontenerami jest fakt, że kontener
ptr_list przyjmuje wskaźniki na obiekty, zamiast obiektów. Obiekty dodane do kontenera są zwalniane za pomocą operatora
delete
.
Przykład
#include <boost/ptr_container/ptr_list.hpp>
#include <cstdio>
void wypisz( const boost::ptr_list < int > & v )
{
printf( "Elementy kontenera (rozmiar = %d):\n", v.size() );
for( boost::ptr_list < int >::const_iterator i = v.begin(); i != v.end(); i++ )
printf( "\t%d\n", * i );
}
int main()
{
boost::ptr_list < int > kontener;
kontener.push_back( new int( 123 ) );
kontener.push_back( new int( 345 ) );
wypisz( kontener );
kontener.clear();
kontener.push_back( new int( 777 ) );
wypisz( kontener );
return 0;
}
Standardowe wyjście programu:
Elementy kontenera (rozmiar = 2):
123
345
Elementy kontenera (rozmiar = 1):
777
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.