clone object?

 
Всем привет! Ситуация такая, писал советник использовал массив указателей на объект класса - всё хорошо:
MyClass{
        public:
		int a;

		void MyClass(int i){
			this.a=i;
		}

                
		void test()
		{	
			Print("test: "+(string)this.a);
		}
};

MyClass *test[];
int size=10;
ArrayResize(test, size);

for(int i=0; i<size;i++){
        test[i] = new MyClass(i);
}

Далее я спокойно их удалял оператором delete

for(int i=0; i<size; i++){
        delete test[i];
}
ArrayResize(test, 0);

Но вот новая фитча, теперь мне не надо удалять весь массив, а оставлять некоторые из них, я искал как клонировать объект - не нашёл, я искал как переиндексировать массив - тоже не нашёл... мне нужна примерно реализация след ситуации:

for(int i=0; i<size; i+=2){
        delete test[i];
}

//получаем
//test[1] object
//test[3] object
//test[5] object
//test[7] object
//test[9] object

//Тут надо как-то переиндексировать весь массив test[] и на выходе получить

test[0].test(); //1
test[1].test(); //3
test[2].test(); //5
test[3].test(); //7
test[4].test(); //9

Подскажите как реализовать это на mql4?
 

 
Matvey Alekseev:

Подскажите как реализовать это на mql4?
 

https://www.mql5.com/ru/docs/basis/types/typedef

сегодня поиск не работает, я в прошлом году тоже с этим вопросом разбирался, поиском по моим сообщениям typedef должно найтись

или как вариант, я в блоге выкладывал панельку на C#, там тоже привязывал к массиву указателей функции - почти один в один как Ваша задача

 
Вообще ничто не работает. 
 
Matvey Alekseev:
Всем привет! Ситуация такая, писал советник использовал массив указателей на объект класса - всё хорошо:

Далее я спокойно их удалял оператором delete

Но вот новая фитча, теперь мне не надо удалять весь массив, а оставлять некоторые из них, я искал как клонировать объект - не нашёл, я искал как переиндексировать массив - тоже не нашёл... мне нужна примерно реализация след ситуации:

Подскажите как реализовать это на mql4?
 

Типичная задача для списка. Присмотритесь к соответствующему классу. В MQL4 он тоже работает.

 
Denis Kirichenko:

Типичная задача для списка. Присмотритесь к соответствующему классу. В MQL4 он тоже работает.

по моему ТС хочет разыменовать указатель на функцию? 

 
Всем спасибо - разобрался! Просто раньше времени удалял буферный массив, в следствии чего чистил указатели основного и получал invalid pointer access
... тут чисто подход по-русски.

Утечки памяти устранены! =)
Причина обращения: