OLP. Questões de aplicação - página 9

 

Mas não precisa realmente de fazer isto....

Deve-se usar a virtualização de funções

P.S. E não se pode construir um programa normal com conversão de tipo implícito. É apenas uma variante... como o operador GoTo....

Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
AlexSTAL:
2) O principal é apagá-lo antes do fim do programa. Mas se tiver este ponteiro criado numa função, precisa de se preocupar em guardá-lo num local global...


Foi o que eu também pensei, o conjunto parece ser global, mas há uma fuga de informação. Ou não é apenas o conjunto que precisa de lá estar, mas também algo mais?

 
Fazes-me mesmo rir ))))
 
Interesting:

Foi o que eu também pensei, o conjunto parece ser global, mas há uma fuga de informação. Ou não é apenas a matriz, mas também outra coisa?

Bem, pode ter uma fuga noutro lugar...

Tenho centenas de aulas criadas desta forma e nunca tive fugas de informação em lado nenhum....

Tente um exemplo simples....

 
TheXpert:
Fazes-me mesmo rir ))))
Às vezes é bom para si... irritante ....
 
AlexSTAL:

Bem, pode ter uma fuga noutro lugar...

Tenho centenas de aulas criadas desta forma e nunca tive fugas de informação em lado nenhum....

Tente um exemplo simples....

Acho que me livrei dele, colocando este código no bloco de desinstalação da EA (sem problemas até agora)

  for (int i=0; i<ArraySize(ArrShapes);i++)  
  {
  ArrShapes[i].Free(ArrShapes[i]);
  }
 

Acabou por ser assim, muito incompreensível.

É um monstro numa palavra... :)

Arquivos anexados:
Forum-2.mq5  11 kb
 

De qualquer modo, como resultado da discussão sobre o problemahttps://www.mql5.com/ru/forum/3566/page6#comment_58280 enviou uma candidatura ao RS.

 
Yedelkin:

Em geral, na sequência de uma discussão sobre o problemahttps://www.mql5.com/ru/forum/3566/page6#comment_58280 enviou um pedido ao RS.

1. Não sei, não sei.

Penso que os criadores não se darão ao trabalho de sacrificar a funcionalidade em nome da segurança (é a coisa certa a fazer num sentido).

A forma proposta por Aleksander(AlexSTAL) poderia ter resolvido o problema (não vamos ter em conta a sua natureza algo problemática).

Mas ao fazê-lo, teremos, na melhor das hipóteses, acesso a eventos e métodos de descendência (caso em que as propriedades, variáveis e coisas não declaradas nos antepassados são pouco prováveis de serem utilizadas).

No entanto, é muito provável que tenhamos de fazer experiências.


2. Com base no que temos agora, podemos fazer algo mais, vejo 2 opções:

а. Utilizar matrizes especializadas que contenham objectos de uma única classe (descendentes de um determinado tipo);

Neste caso, pode ter acesso a quaisquer propriedades, métodos e eventos dos objectos da matriz (porque são homogéneos);

б. Se for necessário trabalhar com um conjunto de objectos de diferentes tipos, que são descendentes de uma classe base, terá de criar matrizes adicionais para armazenar cada tipo de descendentes.

Assim, na matriz principal teremos acesso apenas à funcionalidade comum para todos os objectos (se não AUTOGEN e QUALDA), e em matrizes especializadas acesso à funcionalidade total de cada tipo de descendentes.

Pelo que entendi, vamos obter algo como uma base de dados constituída por várias tabelas, com métodos de ligação um-para-muitos e muitos-para-um. Neste caso, porém, haverá uma questão de sincronização adequada de todo o caso. Além disso, teremos de decidir com base em que todas as matrizes (tabelas) da base de dados improvisada serão ligadas.

A encadernação pode ser baseada em alguns identificadores únicos, por exemplo, com base em apontadores ou cabos especializados (como os utilizados em perus).

PS

A propósito, penso que a ideia com pegas é suficientemente boa (mesmo que se tomem apontadores como base de todo o trabalho com objectos). As pegas devem permitir distinguir o objecto único dos semelhantes ou de toda a lista de objectos.

 
TheXpert:
Fazes-me mesmo rir ))))
Às vezes estou mesmo a passar-me, é bom que às vezes. :)
Razão: