Инициализация массивов и структур

 
class A
  {
public:
   int               ii[];
  };

//Так правильно и удобно, но неприлично
//Данные, которые принадлежат объектам, будут висеть в глобальной области видимости
int a1_ii[]= {1,2,3};
int a2_ii[]= {4,5,6};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   A a1,a2;

//Так не правильно
   a1.ii= {1,2,3};//Хочу так писать, но нельзя
   a2.ii= {4,5,6};//

//Так правильно, но ужасно
   ArrayResize(a1.ii,3);
   a1.ii[0]=1;
   a1.ii[1]=2;
   a1.ii[2]=3;
   ArrayResize(a2.ii,3);
   a2.ii[0]=4;
   a2.ii[1]=5;
   a2.ii[2]=6;
  }

Просим разработчиков сделать возможность инициализировать массивы не только при входе в их область видимости.

Ещё просьба сделать указатели наподобие С++, пускай и не для маркета.

 
Aliaksandr Hryshyn:

Просим разработчиков сделать возможность инициализировать массивы не только при входе в их область видимости.

Ещё просьба сделать указатели наподобие С++, пускай и не для маркета.

Не будет. Initializer list лучше попросите, я уже зарекся что-либо просить, сразу троли набегают. Так,что - пилите костыли. Пример:

class A{
   int a[];
public:
   A(int &x[]){ArrayCopy(a,x);}
};

void OnStart(){
  int x[]={1,2,3,4};
  A test(x);} 
 
Может вместо копирования использовать это:ArraySwap?
Эта функция копирует данные или просто происходит обмен указателями?
Ладно, сам проверю.
 
Vladimir Simakov:

я уже зарекся что-либо просить, сразу троли набегают. Так,что - пилите костыли.

Ну это вы зря. Вода камень точит, как говорится )  А под лежачий камень точно ничего не притечёт.  Просто нужна массовость. Чем больше людей будет напоминать о проблеме, тем больше шансов.

Причина обращения: