4バイトを超えるデータをコレクションで管理する
SophiaFramework のコレクションクラスには、4バイトを超えるオブジェクトを
直接格納することはできません(SFXHashmap のキーに SFXAnsiString を格納する場合を除く)。
ポインタを介して格納します。
SFXArray<SInt64Ptr> array; SFXArray<SInt64Ptr>::Iterator itor; SInt64Ptr ptr; SFCError err; // データを追加する // ヒープを確保する ptr = ::new SInt64(1234); // 成功したかチェックする if (ptr != null) { // データを追加し、成功したかチェックする err = array.Append(ptr); } // 全てのデータを削除する // コレクションからイテレータを取得し、先頭から巡回する itor = array.GetFirstIterator(); while (itor.HasNext()) { // データを取得する ptr = itor.GetNext(); // null でなかったらヒープを開放する if (ptr != null) { ::delete ptr; } } // array に登録されている全ての要素を削除する array.Clear();
参照 SFXArray::Append | SFXArray::GetFirstIterator | SFXArray::Iterator::HasNext
SFXArray::Iterator::GetNext