Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1334
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
Foi o Alexey que rediscutiu algo no código que eu dei. Ou talvez o tenha subestimado - escrevi-o "de joelhos" como um simples exemplo para esclarecer aquilo de que já não me lembro.
Talvez Alexei nos possa dizer).
A iteração do ciclo não terminará e não iniciará um novo ciclo, mas passará para o próximo Se. A lógica irá mudar.
Artyom Trishkin:
Это Алексей что-то переделывал в том коде, который я давал. А может и я недоглядел - писал "на коленке" в качестве простого примера для пояснения уже не помню чего.
Artem, porque é que esta palavra-chave é usada aqui? Sem ela, os métodos funcionarão com os membros da classe...
Alexey, obrigado por uma resposta tão detalhada.
A finalidade da variável ret no fragmento de código dado não é clara...
Porque é calculado se o método retorna matriz[0] de qualquer maneira?
P.S.
E porquê utilizá-lo num método de classe? Estamos a trabalhar com membros desta classe em particular...
1. Para que serve aqui a função CopyTime?
2. Talvez a Artem responda sobre isto - é uma preferência pessoal ou é necessária?
1. Para que serve a função CopyTime?
2. Talvez a Artem responda sobre isto - é preferência pessoal ou é necessário?
Não gosto de CopyTime(), substitua-o por iTime(). Não há diferença, o principal é obter a hora do bar actual.
Na minha cabeça lembro-me vagamente de quando foi escrito. Penso que também fiz esta pergunta... E se não me engano, isto assegura que a referência é apenas a métodos locais, no caso de haver métodos semelhantes noutras classes. E, claro, Artyom irá esclarecer.
Não. A condição lá é originalmente definida como esta, se o ponteiro for criado com sucesso, então adicione-o à lista. O suporte curvo está fechado e se houver uma falha, a adição não será executada. A lógica é um pouco diferente com o operador contínuo, mas o resultado é o mesmo.
Sim, o resultado é o mesmo, por dentro é diferente. Penso que é mais rápido com a continuação, embora seja a cor e a lógica ....
Artem, porque é que esta palavra-chave é usada aqui? Porque mesmo sem ela, os métodos funcionarão com os membros da classe...
Eles irão. Utilizo-o porque quero que eles :) Indica explicitamente que métodos de classe são utilizados.
Se tem duas classes, uma como pai e outra como descendente, e tem dois métodos com o mesmo nome, mas não são virtuais por alguma razão, tem de especificar explicitamente qual deles 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() numa classe CInherited herdada com isto - para ter a certeza de que esta (isto == "isto") classe herdada seria chamada.
Existem outras explicações para a sua utilização. Talvez alguém mais experiente no OOP nos possa dizer.
Sim, o resultado é o mesmo, por dentro é diferente. Penso que é mais rápido com a continuação, embora seja a cor e a lógica ....
Não deve haver qualquer diferença. Parece-me apenas mais agradável - menos parênteses e recuos.
Bem, sim. Eu sou um desses "alguns", especialmente quando chamo função padrão da classe, especifico sempre o contexto global. Só porque consigo pensar em escrever nesta classe um método com o mesmo nome da função padrão - por isso nunca esquecerei o que ele faz. E é aí que :: é útil para chamar a função padrão e isto é útil para chamar o meu método com o mesmo nome.