これらのクラスが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);
}
//---------------------------------------------------------------------------