AssignArray

Копирует в массив элементы из другого массива.

bool  AssignArray(
   const CArrayObj*  src      // указатель на источник
   )

Параметры

src

[in]  Указатель на экземпляр класса CArrayObj – источник элементов для копирования.

Возвращаемое значение

true в случае успеха, false – если нет возможности скопировать элементы.

Примечание

Если перед вызовом AssignArray массив приемник не пуст, все его элементы будут удалены из массива и, если установлен флаг управления памятью, память удаленных элементов будет освобождена. Массив-приемник становится точной копией массива источника. Дополнительно см. CArrayObj::AddArray(const CArrayObj*).

Пример:

//--- example for CArrayObj::AssignArray(const CArrayObj*)
#include <Arrays\ArrayObj.mqh>
//---
void OnStart()
  {
   CArrayObj *array=new CArrayObj;
   //---
   if(array==NULL)
     {
      printf("Object create error");
      return;
     }
   //--- create source array
   CArrayObj *src=new CArrayObj;
   if(src==NULL)
     {
      printf("Object create error");
      delete array;
      return;
     }
   //--- reset free mode flag
   src.FreeMode(false);
   //--- fill source array
   //--- . . .
   //--- assign another array
   if(!array.AssignArray(src))
     {
      printf("Array assigned error");
      delete src;
      delete array;
      return;
     }
   //--- arrays is identical
   //--- delete source array without elements
   delete src;
   //--- use array
   //--- . . .
   //--- delete array
   delete array;
  }