これらのクラスがC++標準ライブラリに入っているauto_ptrクラスと異なる点は、次の通りです。
auto_ptrクラスの使用例:
//--------------------------------------------------------------------------- #include <memory> //--------------------------------------------------------------------------- void TForm1::InvertLines() { std::auto_ptr<TStringList> newLines(new TStringList()); newLines->Assign(Memo1->Lines); for(int i = 0; i < newLines->Count / 2) { newLines->Exchange(i, newLines->Count - 1); } Memo1->Assign(newLines.get()); } //---------------------------------------------------------------------------TPtrクラスの使用例:
//--------------------------------------------------------------------------- #include <Utilcls.h> //--------------------------------------------------------------------------- void TForm1::InvertLines() { TPtr<TStringList> newLines = new TStringList(); newLines->Assign(Memo1->Lines); for(int i = 0; i < newLines->Count / 2) { newLines->Exchange(i, newLines->Count - 1); } Memo1->Assign(newLines); } //---------------------------------------------------------------------------