template
.
auto_ptr<NejakaTrida> a(new NejakaTrida); auto_ptr<NejakaTrida> b; b=a; cout << "a:" << a.get() endl;by mel vypsat, ze a je NULL (myslim, ze treba MSVC to nedela, ale to je jedno, norma si to zada). Existuji i lepsi smart pointry, ty ale zase nejsou standardizovane. Nekdy se proste smart pointry nehodi...
auto_ptr
je jen takova kravinka (prakticky nepouzitelna) a zrovna moc chytra neni (ve skutecnosti to zrovna smart-pointer neni). Jedna implementace je napr. v baliku boost
. Ve vicevlaknovem prostredi je ale vzdycky otazka, ktere prostredky mame (linux-threads, Win32...), ale knihovna boost
je psana prenositelne a ma vlastni implementaci vazanou na konkretni system (bezi jak pod Linuxem, tak pod Win32). Ale jak bylo (nekde) receno, je to dalsi knihovna, na ktere jste zavisli.