Кто-нибудь знает, как использовать auto_ptr с контейнерами типа vector и map ?
Поясню на примере:
#include <memory>
#include <vector>
class CClass
{
public:
CClass() {}
~CClass() {}
};
int main()
{
std::vector< std::auto_ptr<CClass> > my_vector;
for (int i = 0; i < 5; i++)
my_vector.push_back(std::auto_ptr<CClass>(new CClass()));
return 0;
}
Проблема в том, что этот пример прекрасно компилируется с Visual C++ 6.0 с его версией STL, но не работает с версией STL от Silicon Graphics, а также с Borland C++ Builder.
Я понимаю, что проблема в компиляторе Visual C++, но меня интересует, есть ли какой-нибудь не очень извратный способ использовать приведенный выше код с версией STL от Silicon Graphics ?