Não deve haver qualquer diferença. Parece-me apenas mais agradável - o código está menos carregado de parênteses e travessões.
Para uma verificação (se) sim, mas em código há duas, e se há muitas, então lógica Se Sim, contingência e nova iteração de laço, caso contrário acção Uma lógica Se Não então acção de outra forma passa para a condição seguinte Se Não. Neste caso, o corpo do laço irá percorrer todo o caminho.
Para uma verificação (se) sim, mas há duas no código, e se houver muitas, então a lógica Se Sim, continuar e uma nova iteração de laço, caso contrário acção Uma lógica Se Não, então a acção passa para a condição seguinte Se Não. Neste caso, o corpo do laço irá passar até ao fim.
Eles irão. Utilizo-a porque quero :) Isto especifica explicitamente que métodos de classe são utilizados.
Se tiver duas classes, uma como pai e outra como uma classe herdada, e tiverem dois métodos com o mesmo nome, mas não forem virtuais por alguma razão, terá de especificar explicitamente qual o método a utilizar.
Suponha que a classe pai é CParent e a classe herdada é CInheritede ambas têm método().
Neste caso, se designarmos um método Método() de uma classe CParent, este chamará explicitamente um método da classe CParent - isto não é necessário aqui. Podemos chamar o método com ou sem ele.
Sechamarmos método() a um método numa classe CInherited herdada, o métododessa classe também será chamado, uma vez que primeiro procuramos um método pertencente à classe da qual o chamámos.
Sechamarmos CParent::Method() numa classe CInherited, é o método da classe pai que será chamado desta forma, porque especificámos explicitamente um método que pertence à classe pai por operador de resolução de contexto.
Mas mesmo assim eu chamaria método Método() na classe CInherited comindicação disto - para ter a certeza que o método desta (isto == "isto") classe herdada será chamado.
Existem outras explicações para a sua utilização. Talvez alguém mais experiente no OOP nos possa dizer.
Artem, muito obrigado por uma resposta tão abrangente, que muda a atitude em relação ao OOP para melhor).
Bem, sim. Eu sou uma dessas "algumas pessoas", especialmente quando chamo uma função padrão de uma classe , certifico-me de especificar o contexto global. Só porque consigo pensar em acrescentar um método nessa classe com o mesmo nome da função padrão - por isso nunca esquecerei o que faz. E é aí que é necessário :: chamar uma função padrão, e isto - chamar o meu método com o mesmo nome.
Artem, já refuta a segunda parte da expressão "necessário - não necessário". É necessário, significa que é necessário. Não há qualquer objecção...
Como calcular a distância em pips desde o preço actual até ao limite mais próximo até àencomenda pendente. Estou interessado num código pronto a fazer.
Para uma verificação (se) sim, mas há duas no código, e se houver muitas, então a lógica Se Sim, continuar e uma nova iteração de laço, caso contrário acção Uma lógica Se Não, então a acção passa para a condição seguinte Se Não. Neste caso, o corpo do laço irá percorrer todo o caminho.
Para mim, a opção preferida é
int a = 3, b = 7;
for(int i = 0; i < 10; i++)
{
if(i == a && b == 7)
{
Print(b);
}
// если условие if(i == a) НЕ выполнено, следующая итерация………
}
ou isto
int a = 3, b = 7;
for(int i = 0; i < 10; i++)
{
if(i == a)
{
if(b == 7)
Print(b);
}
// если условие if(i == a) НЕ выполнено, следующая итерация………
}
Outra variante
int a = 3, b = 7;
for(int i = 0; i < 10; i++)
{
if(i != a)
continue; // если условие if(i != a) выполнено, следующая итерация………if(b == 7)
Print(b);
}
A outra variante está à beira da idiotice.
int a = 3, b = 7;
for(int i = 0; i < 10; i++)
{
if(i != a)
continue; // если условие if(i != a) выполнено, следующая итерация………if(b != 7)
continue;
Print(b);
}
Mas isto é uma questão de gosto. O que se quiser.
Tanto quanto sei, esta forma foi utilizada quando o operador verificou TODAS as condições desde o início até ao fim. Foi justificado pelo facto de que, se a primeira condição não for cumprida, não terá de verificar as seguintes condições. Agora todas as condições após a que não foi cumprida não são verificadas. E tais escadas já não são necessárias, resta apenas um hábito.
Olá, o testador de estratégia mostra 44% de qualidade histórica, como a corrijo? Procurar no fórum não deu nada, também procurei alguma informação na ajuda, também não há nada.
Não deve haver qualquer diferença. Parece-me apenas mais agradável - o código está menos carregado de parênteses e travessões.
Para uma verificação (se) sim, mas em código há duas, e se há muitas, então lógica Se Sim, contingência e nova iteração de laço, caso contrário acção Uma lógica Se Não então acção de outra forma passa para a condição seguinte Se Não. Neste caso, o corpo do laço irá percorrer todo o caminho.
Para uma verificação (se) sim, mas há duas no código, e se houver muitas, então a lógica Se Sim, continuar e uma nova iteração de laço, caso contrário acção Uma lógica Se Não, então a acção passa para a condição seguinte Se Não. Neste caso, o corpo do laço irá passar até ao fim.
Não compreendo nada, mas que assim seja.
Eles irão. Utilizo-a porque quero :) Isto especifica explicitamente que métodos de classe são utilizados.
Se tiver duas classes, uma como pai e outra como uma classe herdada, e tiverem dois métodos com o mesmo nome, mas não forem virtuais por alguma razão, terá de especificar explicitamente qual o método a utilizar.
Suponha que a classe pai é CParent e a classe herdada é CInheritede ambas têm método().
Neste caso, se designarmos um método Método() de uma classe CParent, este chamará explicitamente um método da classe CParent - isto não é necessário aqui. Podemos chamar o método com ou sem ele.
Sechamarmos método() a um método numa classe CInherited herdada, o métododessa classe também será chamado, uma vez que primeiro procuramos um método pertencente à classe da qual o chamámos.
Sechamarmos CParent::Method() numa classe CInherited, é o método da classe pai que será chamado desta forma, porque especificámos explicitamente um método que pertence à classe pai por operador de resolução de contexto.
Mas mesmo assim eu chamaria método Método() na classe CInherited comindicação disto - para ter a certeza que o método desta (isto == "isto") classe herdada será chamado.
Existem outras explicações para a sua utilização. Talvez alguém mais experiente no OOP nos possa dizer.
Artem, muito obrigado por uma resposta tão abrangente, que muda a atitude em relação ao OOP para melhor).
Como é que abro uma conta real?
1. Escolher um corretor.
2. Escolher uma plataforma, MT4 ou MT5.
3. Abrir uma conta em tempo real com o corretor.
Bem, sim. Eu sou uma dessas "algumas pessoas", especialmente quando chamo uma função padrão de uma classe , certifico-me de especificar o contexto global. Só porque consigo pensar em acrescentar um método nessa classe com o mesmo nome da função padrão - por isso nunca esquecerei o que faz. E é aí que é necessário :: chamar uma função padrão, e isto - chamar o meu método com o mesmo nome.
Artem, já refuta a segunda parte da expressão "necessário - não necessário". É necessário, significa que é necessário. Não há qualquer objecção...
Olá
Como calcular a distância em pips desde o preço actual até ao limite mais próximo até àencomenda pendente. Estou interessado num código pronto a fazer.
Para uma verificação (se) sim, mas há duas no código, e se houver muitas, então a lógica Se Sim, continuar e uma nova iteração de laço, caso contrário acção Uma lógica Se Não, então a acção passa para a condição seguinte Se Não. Neste caso, o corpo do laço irá percorrer todo o caminho.
Para mim, a opção preferida é
ou isto
Outra variante
A outra variante está à beira da idiotice.
Mas isto é uma questão de gosto. O que se quiser.
Tanto quanto sei, esta forma foi utilizada quando o operador verificou TODAS as condições desde o início até ao fim. Foi justificado pelo facto de que, se a primeira condição não for cumprida, não terá de verificar as seguintes condições. Agora todas as condições após a que não foi cumprida não são verificadas. E tais escadas já não são necessárias, resta apenas um hábito.
Artyom, isto já desmentiu a segunda parte da expressão "deve-desistir". Se tenho de o fazer, tenho de o fazer. Nenhuma objecção...