Bibliotecas: Price_Compare - página 3

 
Koldun Zloy:

O problema é que as macros não são imunes ao uso indevido.

Elas surgiram quando não havia classes ou modelos.

Não faz sentido usá-las agora.

Declaração incorreta.

[Excluído]  
fxsaber:

Declaração incorreta.

Você não pode comprová-la.

 
Koldun Zloy:

Você não conseguirá justificar isso.

Pode haver muitos exemplos. Por exemplo, este aqui.

Init_Sync
Init_Sync
  • www.mql5.com
Если в MT изменить таймфрейм или имя символа чарта, то все индикаторы на чарте выгрузятся с чарта и загрузятся на него снова. При этом, в отличие от MT4, в MT5 последовательность выгрузиться/загрузиться не определена из-за особенности внутренней архитектуры. Данное обстоятельство иногда вызывает не сразу очевидные проблемы, связанные с тем, что...
[Excluído]  

Isso não é uma justificativa.

Eu vi seus exemplos.

Todos eles podem ser reescritos sem macros.

 
Koldun Zloy:

Essa não é a lógica.

Eu vi seus exemplos.

Todos eles podem ser reescritos sem macros.

Portanto, tente obter esse efeito

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação.

Bibliotecas: Init_Sync

fxsaber, 2017.04.18 07:52

biblioteca quando a #include está lá, mas em nenhum lugar do código algo dela é chamado pelo usuário.

[Excluído]  
Qual deles?
Não quero entender essas partes do código.
Já lidei bastante com macros em bibliotecas C e não espero nenhum milagre delas.
Dê-me um pequeno exemplo que demonstre a necessidade das macros.
Se você se lembra, quando falei sobre ponteiros inteligentes e singleton, dei exemplos,
que não continham nada desnecessário.

 
Koldun Zloy:
Qual deles?
Não quero examinar todo esse código.

O efeito foi formulado para você em russo, não é necessário examinar o código.


Quanto à "substituição" de macros, a mesma afirmação pode ser aplicada a modelos, OOP e assim por diante. Como o C++ é escrito em Asma.

Por exemplo, você sempre pode substituir o copiar e colar de texto digitando-o. É apenas uma questão de conveniência. Escrever em Asma ou C++ é a mesma coisa.


Formulei minha atitude em relação às macros. Resumidamente - conveniente.

[Excluído]  
библиотека, когда #include  есть, но нигде в коде ничего из нее не вызывается пользователем.

Nem sequer me ocorreu que esse efeito fosse necessário de alguma forma.

Quanto à "substituição" de macros, a mesma afirmação pode ser aplicada a modelos, OOP e assim por diante. Como o C++ é escrito em Asma.

Por exemplo, você sempre pode substituir o copiar e colar de texto digitando-o. É apenas uma questão de conveniência. Escrever em Asma ou C++ é a mesma coisa.


Formulei minha atitude em relação às macros. Resumidamente - conveniente.

A OOP e os modelos são mais seguros do que as macros.

E é conveniente para você, desde que não tenha que trabalhar com as macros de outras pessoas.

 
Koldun Zloy:

Nem sequer me ocorre que esse efeito seja minimamente necessário.

Infelizmente, ele é muito procurado.


A OOP e os modelos são mais seguros do que as macros.

E é conveniente para você, desde que não precise trabalhar com as macros de outras pessoas.

O que é perigoso aqui?

#ifdef __MQL5__
  #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)
  
  #define  TICKET_TYPE int
  #define  MAGIC_TYPE  int
#else 
  #define  TICKET_TYPE long
  #define  MAGIC_TYPE  long
#endif

A regra de uso de qualquer macro é sempre a mesma: use-a quando você a entender.

[Excluído]  

Suponha que. E qual é exatamente o papel das macros aqui?

O que é perigoso aqui?

#ifdef __MQL5__
  #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK)
  
  #define  TICKET_TYPE int
  #define  MAGIC_TYPE  int
#else 
  #define  TICKET_TYPE long
  #define  MAGIC_TYPE  long
#endif

É uma necessidade aqui, já que o typedef no MQL funciona apenas com ponteiros para uma função.

Listarei todos os perigos mais tarde.