Absurd » 27 авг 2007, 14:04
Слабо тест написать? К тому же, в ВСВ наверняка есть детектор memory leaks.
Код: Выделить всё
#include <iostream>
#include <memory>
struct Bar {
Bar(int i, int j)
:_i(i)
,_j(j)
{}
~Bar()
{
std::cout<<"Destrictor called\n";
}
private:
const int _i;
const int _j;
};
struct Foo {
std::auto_ptr<Bar> _bar_ptr;
};
int main(int argc, char** argv) {
Foo foo;
foo._bar_ptr.reset(new Bar(13, 666));
return 0;
}
Выдает что destructor called. Хотя и нафига иметь AnsiString в структуре - либо пишем на С либо на С++.
Слабо тест написать? К тому же, в ВСВ наверняка есть детектор memory leaks.
[code]
#include <iostream>
#include <memory>
struct Bar {
Bar(int i, int j)
:_i(i)
,_j(j)
{}
~Bar()
{
std::cout<<"Destrictor called\n";
}
private:
const int _i;
const int _j;
};
struct Foo {
std::auto_ptr<Bar> _bar_ptr;
};
int main(int argc, char** argv) {
Foo foo;
foo._bar_ptr.reset(new Bar(13, 666));
return 0;
}
[/code]
Выдает что destructor called. Хотя и нафига иметь AnsiString в структуре - либо пишем на С либо на С++.