When I started learning C++ long ago there was no STL (or at least the books I've learnt from) and also new did not throw any exception on failure.

The problem is that I got to love raw pointers, while the smart pointers (like the auto_ptr class) look as if it transforms C++ to C# or something.

Do I really need to stop using them? Or they are usefull sometimes?