BCB版のオートポインタクラス

BCB版のオートポインタと言える、TPtr、TAPtrクラスが"Utilcls.h"に入っています。TPtrクラスは一個変数へのポインタ、TAPtrクラスは配列へのポインタを保持します。

これらのクラスが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);
}
//---------------------------------------------------------------------------
最終更新: 2008-07-06

戻る