AssignArray

別の配列の要素を複製します。

bool  AssignArray(
  const CArrayObj*  src      // コピー元へのポインタ
  )

パラメータ

src

[in] 複製する要素へのポインタ(CArrayObj クラスインスタンス)

戻り値

成功の場合は true、要素が複製できなかった場合は false

注意事項

AssignArray の呼び出し時に受け取り側の配列が空でない場合は、その全ての要素が削除され、メモリ管理フラグが有効であれば、削除された要素に使用されていたメモリが解放されます。受け取り側の配列はソース配列と同一のコピーです。CArrayObj::AddArray(const CArrayObj*) をご参照ください。

例:

//--- CArrayObj::AssignArray(const CArrayObj*) の例
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
 {
  CArrayObj *array=new CArrayObj;
  //---
  if(array==NULL)
    {
    printf("Object create error");
    return;
    }
  //--- ソース配列を作成する
  CArrayObj *src=new CArrayObj;
  if(src==NULL)
    {
    printf("Object create error");
    delete array;
    return;
    }
  //--- メモリ管理フラグをリセットする
  src.FreeMode(false);
  //--- ソース配列に書き込む
  //--- . にて。.
  //--- 別の配列を割り当てる
  if(!array.AssignArray(src))
    {
    printf("Array assigned error");
    delete src;
    delete array;
    return;
    }
  //--- 配列が同一
  //--- 追加元の空配列を削除する
  delete src;
  //--- 配列を使用する
  //--- . にて。.
  //--- 配列を削除する
  delete array;
 }