while understanding about auto_ptr, unique_ptr and shared_ptr I came to know that auto_ptr destructor uses delete, not delete[] where as unique_ptr does handle it properly.
auto_ptr<char> aptr(new char[100]);
unique_ptr<char []> uptr(new char[100]);
Anyhow auto_ptr is deprecated in c++11.And I know unique_ptr has much more functionality than auto_ptr. I have two questions related to this behavior
a) Why while designing behavior for auto_ptr by c++ standard library team has not considered it's disadvantages for arrays.
b) Also even though shared_ptr introduced in c++11 why it's implementation doesn't support deleting of array?