Características da linguagem mql5, subtilezas e técnicas - página 217
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Como é que agora (b3110) zero uma estrutura complexa?
Construtor com zeragem.
E, se quiser zerar em progresso, há também um método adicional para o fazer:
Construtor com zeragem.
E se quiser zerá-lo enquanto trabalha, então método adicional para isso:
Eu gostaria de um método universal, como ZeroMemory uma vez permitido.
Considere que eu mudei - agora verifico o 1º termo para x[i].i == 0 (anteriormente a condição era x[i].x == 0.0)
Resultado: falso
E com ZeroMemory - verdade.
Obrigado, arranjou-o.
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Peculiaridades de mql5, dicas e truques
mktr8591, 2021.08.12 19:43
Eu estabeleço um limite pendente. Depois mudo-o manualmente e por script e alterações ORDER_TIME_SETUP.
Exemplo do que muda.
Diário de configuração.
A ORDER_TIME_SETUP é alterada. Bug?
Eu gostaria de uma forma universal, como a ZeroMemory uma vez permitiu.
E quem irá libertar o tampão em cadeia? ZeroMemory é essencialmente um análogo disto.
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa366920(v=vs.85)
Não serão chamados destruidores. De forma correspondente, o ponteiro do tampão será limpo em cordel, enquanto o próprio tampão será libertado. Trabalho directo com a memória é como um campo minado - se se perde a vigilância, é isso))))
Aqui está um exemplo de fuga no seu caso:
O objecto já não possui um ponteiro para o tampão, mas o próprio tampão "vazou".
PS. Que se lixe os tipos POD a zero através de memset e ZeroMemory
PS. Bem, não é uma zeragem tipo POD via memset e ZeroMemory
Ainda não foi testado, mas penso que o tampão de cordas é zerado.
Ainda não verifiquei, mas penso que o buffer de cordas está a ser reiniciado.
Porque é que se reiniciaria?)))
É tão maduro quanto deveria ser))))
UPD: t1, t2 com a sua saída, para que o compilador não otimize em demasia o conjunto)
UPD2: podem chamar apagar para o buffer, mas não consigo descobrir como fazê-lo num caso em que a corda está dentro da estrutura
UPD3: embora esteja escrito em ajuda, é chamado pessoalmente, por isso deve libertar buffer, espero, que por ponteiro para libertar memória já lida dados.
Porque é que ele reiniciaria?))
Seria bom ver
Print(GetAddress(a.a));
Antes e depois.
Seria bom ver
Antes e depois.
Como deve ser. No primeiro caso o endereço de memória, no segundo 0
Porque é que ele iria reiniciar?)))
Tudo aqui é maduro, como deve ser))))
UPD: t1, t2 com a sua produção, para que o compilador não optimize demasiado tudo)
UPD2: podem chamar apagar para o buffer, mas não consigo descobrir como fazê-lo num caso em que a corda está dentro da estrutura
UPD3: embora esteja escrito em ajuda, é chamado pessoalmente, significa que o tampão deve ser libertado, espero que já tenha libertado a memória por ponteiro.
Em princípio, tudo deve ser bastante trivial na implementação)