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
Boa tarde. Sou iniciante. Tenho uma dúvida com relação ao uso do ícone "*" (asterisco).
No arquivo samplelist:
"*" é usado para declarar um ponteiro para um objeto - isso é meio claro.
Em seguida:
Não está claro para que o sinal "*" é usado.
De acordo com a ajuda,"é possível criar dinamicamente objetos de um tipo complexo. Isso é feito com a ajuda do novo operador." O novo operador não é usado aqui. Explique com mais detalhes como e em quais casos o sinal "*" pode ser usado.
Além disso, no entanto:
Não está claro o que o sinal "*" colocado ali significa.
Você pode escrever assim
Não haverá diferença, trata-se apenas do estilo de design e de uma pequena abordagem ideológica.
Você pode escrevê-lo da seguinte forma
Não haverá diferença, apenas no que diz respeito ao estilo de design e a uma pequena abordagem ideológica.
Ou seja.
CListItem *next(){return(next);}essa é uma declaração de um ponteiro para o objeto (ou método?) next()? E depois, entre colchetes, o próprio objeto next é retornado? Entendi corretamente?
Entendo que tudo deve ser muito simples, mas, como nunca encontrei OOP antes, estou vagando em três pinheiros. Por favor, me faça entender.
Ou seja.
é uma declaração de um ponteiro para o objeto (ou método?) next()?
E, em seguida, entre chaves, o próximo objeto é retornado? Entendi corretamente?
O corpo da função é fornecido entre chaves,
{return(next);}isso significa que a função retornará a variável next, que tem o tipo de um ponteiro para um objeto da classe CListItem. Isso geralmente está de acordo com o tipo da função.
Logo após o primeiro exemplo, o artigo contém a frase "A variável pstatus é um ponteiro de um objeto, mas nós deliberadamente "esquecemos" de criar o próprio objeto usando o operador new e o passamos como parâmetro para a função PrintStatus()".
1. Não está claro o que "exatamente" você passou - um ponteiro ou um objeto?
2. Não há nenhuma função PrintStatus() no exemplo.
Acho que há um erro:
Parece que o novo elemento da lista tem prev e first referenciando o segundo elemento, e o segundo elemento não recebe uma referência ao primeiro elemento.Logo após o primeiro exemplo, o artigo contém a frase "A variável pstatus é um ponteiro de objeto, mas nós deliberadamente "esquecemos" de criar o próprio objeto com o operador new e o passamos como parâmetro para a função PrintStatus()".
1. Não está claro o que exatamente foi passado - um ponteiro ou um objeto?
2. Não há nenhuma função PrintStatus() no exemplo.
Antes tarde do que nunca. Obrigado, corrigido no artigo. O final da frase foi removido
Logo após o primeiro exemplo, o artigo contém a frase "A variável pstatus é um ponteiro de um objeto, mas nós deliberadamente "esquecemos" de criar o próprio objeto usando o operador new e o passamos como um parâmetro para a função PrintStatus()".
Acho que há um erro:
Parece que o novo elemento da lista tem prev e first referenciando o segundo elemento, e o segundo elemento não recebe uma referência ao primeiro elemento.Sim, há um erro de digitação. Em vez de
deve ser
corrigido.Ainda não entendi o que são ponteiros e referências na MQL5 e agora na MQL4. Qual é a diferença entre passar por referência e ponteiro, exceto pelo código extra? Existe uma diferença no C++, mas qual é a diferença aqui? Se não for difícil, por favor, escreva informações mais detalhadas.