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
Ultimamente, comecei a ver algum tipo de "coleta de lixo" nas funções de vários compiladores. O que é isso?
Aqui dependerá do idioma, em Sharp, como eu entendo ser impossível.
É, tudo o que pode ser feito é atribuir um objeto não utilizado à NULL, existem manuais no site da Microsoft sobre como forçar a chamar o coletor de lixo, mas parece que li no hubra que não é o fato de que o coletor será lançado nesta chamada como esperado
isto é, em Sharp eles tiraram a maior parte da gestão da memória do programador - tudo está à mercê do sistema operacional e do compilador
É, tudo o que pode ser feito é atribuir um objeto não utilizado à NULL, existem manuais no site da Microsoft sobre como forçar a chamar o coletor de lixo, mas parece que li na hubra que não é o fato de que o coletor será lançado nesta chamada como esperado
isto é, em Sharp eles tiraram a maior parte da gestão da memória do programador - tudo está à mercê do sistema operacional e do compilador
Aí está. Atualmente estou escrevendo meu primeiro livro didático Sharp e estou assustado com a ausência de apagar em código depois de novo no método)))))
em vez de excluir MyObj; escrever MyObj = nulo; - isto funcionará
e depois usar ??? - foi um pouco embaraçoso no início, depois funciona automaticamente
mas não é a maior diferença do C++, em C# todos os objetos são referências e se você definir MyObj_1=MyObj_2; você não recebe uma cópia, você recebe um ponteiro... Estou prestes a confundir você, aqui está um tutorial rápido, só estou olhando para o caso de eu ter esquecido alguma coisa
https://metanit.com/sharp/tutorial/2.16.php
Acho que estou começando a entender a necessidade e a utilidade do OOP, mas estou tendo problemas para implementá-lo.
Eu tenho uma classe que deve ser usada com três conjuntos diferentes de variáveis. Mas ele realiza uma tarefa. Em termos simples, podemos inserir 3 construtores, declarar 3 variáveis e referir-nos a elas. Mas, do meu ponto de vista, isso não é totalmente correto. Além disso, há uma variável do tipo string em duas variantes, mas é diferente no nome e é usada em diferentes partes do código. É claro que você pode mudar a seqüência de variáveis, mas acho que isto também não é muito correto.
Eu li a documentação sobre o novo operador, mas não entendo como isso pode ajudar. Não vejo a diferença entre três variáveis de objeto diferentes e três ponteiros para os mesmos objetos. Talvez seja rentável quando você cria um ponteiro uma vez, use este objeto e o apague quando não for necessário. Mas se você precisa do objeto regularmente, é absolutamente bobo criar um ponteiro para ele cada vez e apagá-lo.
Portanto, por favor, me ajude. Li algumas explicações sobre o OOP em C++, mas elas são descritas lá de forma pior do que na documentação em mql5. Por favor, não peça aos impacientes que se juntem a mim, eu farei muitas perguntas. Também não estou interessado em código pronto sem explicações, quero entendê-lo e não repetir estupidamente "Faça conosco, faça como nós fazemos...".
Acho que estou começando a entender a necessidade e a utilidade do OOP, mas estou tendo problemas para implementá-lo.
Eu tenho uma classe que deve ser usada com três conjuntos diferentes de variáveis. Mas ele realiza uma tarefa. Em termos simples, podemos inserir 3 construtores, declarar 3 variáveis e referir-nos a elas. Mas, do meu ponto de vista, isso não é totalmente correto. Além disso, há uma variável do tipo string em duas variantes, mas é diferente no nome e é usada em diferentes partes do código. É claro que você pode mudar a seqüência de variáveis, mas acho que isto também não é muito correto.
Eu li a documentação sobre o novo operador, mas não entendo como isso pode ajudar. Não vejo a diferença entre três variáveis de objeto diferentes e três ponteiros para os mesmos objetos. Talvez seja rentável quando você cria um ponteiro uma vez, use este objeto e o apague quando não for necessário. Mas se você precisa do objeto regularmente, é bobagem criar um ponteiro para ele a cada vez e apagá-lo.
Em resumo, por favor, ajude. Li algumas explicações do OOP em C++, mas elas são descritas ali de forma pior do que na documentação em mql5. Por favor, não impacientes, eu farei muitas perguntas. Também não estou interessado em código pronto sem explicações, quero entendê-lo e não repetir estupidamente "Faça conosco, faça como nós fazemos...".
Precisamos de mais detalhes. Que tarefa a classe realiza?
Os detalhes são necessários. Que tarefa a classe realiza?
Não é segredo, uma amostra do calendário de eventos econômicos CalendárioValueHistória(). Em um caso, todas as notícias no intervalo de tempo. Em outro por país e em outro intervalo de tempo. Na terceira, é por um símbolo. Mas existe uma diferença fundamental? As palestras de programação dividem as soluções pelo tipo de tarefas que realizam?
Recentemente conheci alguém que chumbou em um teste de direção e estava indignado, dizendo que não tinha dirigido naquele cruzamento em suas aulas de direção e simplesmente não sabia dirigir naquele cruzamento.
Em outro por país e em um intervalo de tempo diferente.
países em enumeração
No construtor, mesmo através da chave usual - caso, faça a inicialização conforme você precisar, eu mostrei acima um modelo com interfaces, eu também inicializo uma das estratégias no construtor, dependendo dos parâmetros, e o resto do trabalho é reduzido a escrever uma estratégia específica
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
países em enumeração
No construtor, mesmo através da chave usual - case, faça a inicialização conforme você precisa, eu mostrei acima um modelo com interfaces, eu também inicializo uma das estratégias no construtor dependendo dos parâmetros, e o resto do trabalho se resume a escrever uma estratégia específica
https://www.mql5.com/ru/forum/85652/page24#comment_13054686
Chato... Há modelos e interfaces a serem dominados também????