Jaka jest róznica między zwyklymi szablonami klas a pojemnikami w c++

0

Chciałem się dowiedzieć jaka jest różnica miedzy "pojemnikiem" na róźne typy a zwykla klasą szablonową

Na przykład klasa szablonowa Box, która będzię przechowywać wskaźnik do danego typu. (czyli to będzie taki trochę inteligentny wskaźnik ? )

template<typename T>
class Box{
   T* wsk;
public:
   Box():wsk(new T){}
}
 

To wtedy jakby wyglądał pojemnik który też ma wskaźnik na różne typy ? (tak samo, mi się wydaje)

Poprzez pojemnik rozumiem, ze jest to taka inteligentna tablica(lub tez wskaźnik) na której możemy wykonywać dodatkowe funkcje, takie jak zapis na dysk czy odczyt.

Mógłby ktoś mi to przedstawić na prostym przykładzie ?
Bardzo byłbym wdzięczny .

2

To nie jest ani troche inteligetny wskaznik.

Zobacz sobie to, powinno Ci odpowiedziec na wiekszosc pytan
http://codereview.stackexchange.com/questions/60484/stl-vector-implementation

0

Klasa szablonowa cos tam robi w zaleznosci od tego co od niej wymagasz - najwazniejsze wymaganie to "rule of X" (0,3,5).
Sprytny wskaznik czy kontener STL musi wspierac konkretne funkcjonalnosci wymagane przez kontekst w ktorym sa wykorzystywane.

http://www.techrepublic.com/article/extending-the-c-plus-plus-stl-with-custom-containers/
http://www.codeproject.com/Articles/4736/STL-compliant-container-example
http://www.codeproject.com/Articles/15351/Implementing-a-simple-smart-pointer-in-c

1 użytkowników online, w tym zalogowanych: 0, gości: 1