A busca não funciona. Posso estar a repetir-me, mas a questão é: um objecto de classe pode destruir-se a si próprio? Isto é, primeiro obtemos uma referência do objecto a si próprio no objecto de classe usando a palavra reservada isto, depois aplicamos o operador de eliminação ao descritor de objecto correspondente (ponteiro).
Algo do género:
Ou é melhor/preferível apagar um objecto "externamente" em vez de "internamente"?
Também me interroguei sobre esta questão. Cheguei à seguinte conclusão: o objecto pode apagar-se a si próprio (sem dor), mas é preciso lembrar que os dados do objecto (variáveis) não existirão depois disso, pelo que não haverá chamadas para eles. Mas imho esta é uma forma suja, melhor do que a de fora. E se o objecto se apagar a si próprio, só pode ser criado em novo.
220Volt: Também me interroguei sobre esta questão. A conclusão é a seguinte: o objecto pode apagar-se a si próprio (sem dor), mas devemos lembrar que depois disso os dados do objecto (variáveis) não existirão, pelo que não haverá chamadas para eles. Mas imho esta é uma forma confusa, melhor fora.
Sim, já o uso há um ano :) Muito útil se o objecto já não for necessário. Não percebo porque o considera uma forma "suja"?
Talvez começar por ler a documentação para a linguagem com que pretende trabalhar, e ver as definições utilizadas para os fins dessa linguagem de programação?
class CCC
{
public:
datetime start; //Сохраняем время создания объекта класса ССС
CCC(void) : start(TimeCurrent()) {}; //Функция TimeCurrent() указана без символа "точка с запятой"
~CCC(void) {};
}
voidOnTick()
{
CCC ccc;
}
Isto porque o ; na linha 7 está em falta, enquanto que as linhas 6 e 5 não precisam dele.
Isto porque o ; na linha 7 está em falta, enquanto que as linhas 6 e 5 não precisam dele.
Estranho, tudo se compila no meu código mesmo depois das suas linhas adicionais com OnTick(). Só após a declaração da classe CCC é necessário colocar um ponto-e-vírgula. Como escreveu, - precisa de colocar um ponto-e-vírgula na 7ª linha.
Não parece compilar.
A busca não funciona. Posso estar a repetir-me, mas a questão é: um objecto de classe pode destruir-se a si próprio? Isto é, primeiro obtemos uma referência do objecto a si próprio no objecto de classe usando a palavra reservada isto, depois aplicamos o operador de eliminação ao descritor de objecto correspondente (ponteiro).
Algo do género:
Ou é melhor/preferível apagar um objecto "externamente" em vez de "internamente"?
Também me interroguei sobre esta questão. A conclusão é a seguinte: o objecto pode apagar-se a si próprio (sem dor), mas devemos lembrar que depois disso os dados do objecto (variáveis) não existirão, pelo que não haverá chamadas para eles. Mas imho esta é uma forma confusa, melhor fora.
Talvez começar por ler a documentação para a linguagem com que pretende trabalhar, e ver as definições utilizadas para os fins dessa linguagem de programação?
Com todo o respeito.
Está a pensar na direcção certa.
Este código não compila
Isto porque o ; na linha 7 está em falta, enquanto que as linhas 6 e 5 não precisam dele.
Está a pensar na direcção certa.
Este código não compila
Isto porque o ; na linha 7 está em falta, enquanto que as linhas 6 e 5 não precisam dele.
Não parece compilar.
Compila (bem, não sou picuinhas com os ponto e vírgula ;-) ).
Portanto, o autor da pergunta tem exactamente o problema com eles.
Em geral, é tão insignificante...
Este código não compila
Isto porque o ; na linha 7 está em falta, enquanto que as linhas 6 e 5 não precisam dele.