Vengo de un fondo C bastante fuerte, y tengo una base bastante sólida en C++. Más recientemente, he estado trabajando con C# y otros lenguajes de nivel superior. Un proyecto en el que estoy trabajando podría realmente beneficiarse del uso de QT4, pero tengo algunas preguntas sobre la administración de la memoria que parece que no entiendo. He leído la documentación de QT4 y no me ha ayudado mucho. Entonces esa es la razón por la que estoy aquí.QT4 Memory Management
1) Bueno por lo que, para empezar, entiendo que la forma más fácil de usar objetos QT4 es declarar de forma local:
void MyFunc()
{
QString foo;
// do stuff to foo
}
Esto es bastante simple, que puede tomar ese objeto, y pasarlo alrededor y saber que cuando se salga del alcance será destruido. Pero esta es mi pregunta.
1) Si creo una QList y agrego objetos a ella, y luego la QList sale del alcance, ¿intentará desasignar los objetos secundarios?
2) Si una rutina QT4 devuelve un puntero a un objeto, ¿soy entonces responsable de la desasignación de ese objeto?
3) Si creo una subclase de un QWidget y lo agrego a QWindow, ¿cómo puedo asegurar que cuando se destruya QWindow, que lleve mi widget con él?
Gracias por la ayuda.
Algunas de sus respuestas se encuentran en Propiedad del objeto doc: http://cep.xor.aps.anl.gov/software/qt4-x11-4.2.2/objecttrees.html. –