Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 20
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
...
Não, eu quis dizer:
{
}
for( int i = 0; i < x; i++ )
{
}
...
Sim, e o projeto que você escreveu não vai funcionar em absoluto.
Cada variável tem seu próprio escopo. Mesmo dentro dos suportes encaracolados, existe um escopo separado para a variável declarada nesse escopo - dentro dos suportes encaracolados. Então por que eu deveria, por exemplo, criar variáveis de índice de loop com nomes diferentes em lugares diferentes de um programa, se eu sei que elas não se sobrepõem, e é suficiente, e habitual, usar um nome de variável como "i"?
Eu não discuti com você.
...
Não, eu quis dizer:
{
}
for( int i = 0; i < x; i++ )
{
}
...
qual é o objetivo? Por favor, compartilhe sua experiência - qual poderia ser o problema neste caso, ou seja, se seu código fosse como este?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Eu não estava discutindo com você.
Este é o meu fio condutor. E quando é dado um mau conselho sub-ótimo, tenho o direito de corrigir a pessoa. Você, com respeito à situação em questão, está dando maus conselhos.
Seu tópico, então leia-o cuidadosamente e relacione o post com o apelido ao qual você está respondendo.
Em resumo, você está no lugar errado.
mas qual é o objetivo? Por favor, compartilhe sua experiência - qual poderia ser o problema neste caso, ou seja, se seu código fosse assim?
for( i = 0; i < x; i++ )
{
}
for( i = 0; i < x; i++ )
{
}
...
Quando você inicializa um contador fora de um loop, seu escopo se estende além do loop, o que geralmente não é necessário. Assim, você fornece um terreno fértil para possíveis erros, por exemplo, se mais adiante no código você terá uma variável j, e você acidentalmente a chama de i. Ou ao invés de índice [1] você escreve [i], etc.
Portanto, as variáveis devem ser inicializadas o mais próximo possível de onde são utilizadas pela primeira vez e tentar evitar um grande número de variáveis globais. Isto reduz a lista de possíveis erros.
Quando você inicializa um contador fora de um laço, seu escopo se estende além do laço, o que geralmente não é necessário. Ao fazer isso, você fornece um terreno fértil para possíveis erros, por exemplo, se mais abaixo o código você tem uma variável j e acidentalmente a chama de i. Ou ao invés de índice [1] você escreve [i], etc.
Portanto, as variáveis devem ser inicializadas o mais próximo possível de onde são utilizadas pela primeira vez e tentar evitar um grande número de variáveis globais. Isto reduz a lista de possíveis erros.
O que isso tem a ver com (....)?
Estou indignado.
Se diz i=0 e i+++?
Bem, mudar i em outro loop?
Não vai funcionar
O que isso tem a ver com o assunto?
Estou fora.
Você pode estar em qualquer lugar e em qualquer coisa, isso é seu direito. Você me pediu para explicar - eu expliquei.
A única coisa a considerar aqui é que depois do bloco de laço i já é igual a x, desde que no laço i<x
Array[i] depois de(...){} devolverá o erro de overrun do array e pronto