auto_ptr, shared_ptr, unique_ptr
missuse auto_ptr
Merge branch 'feature/smart' into develop