Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
olhou os resultados da minha batalha com o código estilo OOP - hmmm... excelente! ))))
Eu tenho uma pergunta, mas em meu código, bem, três vezes exatamente, eu uso uma construção como:
chama tudo em métodos privados, mas existe um "método Jedi ?" para escapar no código fonte do CheckPointer(m_order)==POINTER_INVALID
Estou perguntando sobre alguns get / set
nenhum problema especial, mas por assim dizer um capricho, ou enquanto a sede de conhecimento dos métodos OOP em C++ ainda não diminuiu
Se a pergunta for "muitas letras", então !CheckPointer(mPtr), e se a função chamar, você inicializa todos os ponteiros para NULL no construtor e compara com ele no código, não esquecendo ao apagar ptr; ptr=NULL;
olhou os resultados da minha batalha com o código estilo OOP - hmmm... excelente! ))))
Eu tenho uma pergunta, mas em meu código, bem, três vezes exatamente, eu uso uma construção como:
chama tudo em métodos privados, mas existe um "método Jedi ?" para escapar no código fonte do CheckPointer(m_order)==POINTER_INVALID
Estou perguntando sobre alguns get / set
nenhum problema especial, mas por assim dizer um capricho, ou enquanto a sede de conhecimento dos métodos OOP em C++ ainda não diminuiu
Igor, veja este exemplo, eu acho que é isso que você está perguntando.
Se a pergunta for "muitas letras", então !CheckPointer(mPtr), e se em uma chamada de função, você rubricar todos os ponteiros para NULL no construtor e comparar com ele no código, não esquecendo ao apagar ptr; ptr=NULL;
Bem e isto, para o açúcar:
Nenhum problema especial, mas por assim dizer um capricho, ou enquanto a sede de aprender os métodos OOP em C++ ainda não tiver morrido.
Recomendo vivamente que você inicialize todos os campos da classe com valores padrão no construtor. A questão é que, se você quiser fazer isso:
void foo(){ CClass someClass; someClass.DoSomething(); }
ninguém inicializará os campos da sua classe e haverá valores de lixo.
E isto, para o açúcar:
Não, eu quase desisti das definições, só não quero embrulhar nada, como escrevi há algumas semanas - quero ver código puro estilo OOP por enquanto, avaliar flexibilidade e possibilidades
HH: Eu apenas envolvi os descendentes em definição na criação, não para escrever a mesma inicialização em 3 linhas, é mais fácil adicionar métodos mais tarde, ou seja, no código fonte em uma linha até agora
Igor, dê uma olhada neste exemplo, acho que é isso que você está perguntando.
não, eu quero dizer o equivalente em c# - operador ?? ( operador nulo), algo semelhante em lógica que quero ver no estilo C++
UPD:
Recomendo vivamente a inicialização de todos os campos de uma classe com valores padrão no construtor. A questão é que se você quiser fazer
Se você estiver pedindo uma macro, ninguém vai rubricar os campos de sua classe e haverá valores de lixo.
foi o que eu fiz, construtor com a inicialização de tudo e qualquer coisa na classe base, os descendentes inicializam a classe base:
foi o que eu embrulhei em uma macro, assim eu não esqueceria de inicializar corretamente ))))
Não, eu quase desisti das definições, só não quero embrulhar nada, como escrevi há algumas semanas - quero ver código puro estilo OOP por enquanto, avaliar flexibilidade e possibilidades
ZS: somente os descendentes embrulhados em definição na criação, para não escrever a mesma inicialização em 3 linhas, é mais fácil adicionar métodos mais tarde, ou seja, no código fonte em uma linha por enquanto
não, eu quero dizer o equivalente em c# - operador ?? ( operador nulo ), quero ver algo semelhante em lógica no estilo C++
Sua recusa do pré-processador é em vão. Junto com os modelos, eles são as ferramentas mais poderosas. Parece não haver um análogo do operador ?? O C++ é mais difícil a este respeito.
Ainda estou em uma batalha pelo puro estilo OOP, quero aprender todas as técnicas OOP, enquanto há uma vantagem no fórum ;)
Estou a par do pré-processador, mas ... Acho que não devo abusar, pelo menos não do meu estilo, posso estragar tudo, e certamente não serei capaz de ler código com múltiplas macrossubstituições, e como procurar por bugs... bem, é mais fácil de reescrever - então, ainda não é necessário
modelos... Bem, eu não gosto do que os desenvolvedores oferecem em SB, eu olhei através de todos eles, é difícil dizer para que propósito eles foram incluídos em SB, talvez sua hora ainda não tenha chegado
sobre os modelos C++ portando para a MQL - é hora, como a discussão mostrou, de que na maioria dos casos os modelos C++ exigem um ajuste fino para a MQL - é mais fácil voltar para .dll e não incomodar a MQL ))))
Ainda estou em uma batalha pelo puro estilo OOP, quero aprender todas as técnicas OOP, enquanto há uma vantagem no fórum ;)
Estou a par do pré-processador, mas ... Acho que não devo abusar, pelo menos não do meu estilo, posso estragar tudo, e certamente não serei capaz de ler código com múltiplas macrossubstituições, e como procurar por bugs... bem, é mais fácil de reescrever - então, ainda não é necessário
modelos... Bem, eu não gosto do que os desenvolvedores oferecem em SB, eu olhei através de todos eles, é difícil dizer para que propósito eles foram incluídos em SB, talvez sua hora ainda não tenha chegado
sobre os modelos C++ portando para a MQL - é hora, como a discussão mostrou, de que na maioria dos casos os modelos C++ exigem um ajuste fino para a MQL - é mais fácil voltar para .dll e não incomodar a MQL ))))
Você mesmo pode escrever os modelos dessa maneira))))
Yup ))))
Acabei de ler a ajuda e pulei a anulação, graças a Deus tudo está em macros, edições, bem, exatamente em uma cópia-colar
UPD:
não é não, saiu para o próprio controle de permissão, não há necessidade de método público!
E depois há isto, para o açúcar:
Eu queria escrever o que eu costumava ter em vez de
foi assim:
mas lembrou como verificar as substituições de macro em MQL
2019.09.16 22:57:42.837 tst (EURUSD,H1) a = 1
2019.09.16 22:57:42.837 tst (EURUSD,H1) POINTER_INVALID = 0
2019.09.16 22:57:42.837 tst (EURUSD,H1) NULL = 0
e se a memória me serve corretamente, no início do ano era possível desimprimir NULL no registro e chegar 0 lá , agora aparece um erro
Isto é, o comportamento NULL como se não devesse mudar no futuro, mas o que lá é substituído em vez do NULL não é claro, provavelmente se esta situação for verificada agora, como escritose(CheckPointer(m_order)==POINTER_INVALID))) )))