Tôi đến từ nền C khá mạnh và có nền tảng khá vững chắc trong C++. Gần đây tôi đã làm việc với C# và các ngôn ngữ cấp cao hơn. Một dự án mà tôi đang xem xét để làm việc có thể thực sự được hưởng lợi từ việc sử dụng QT4, nhưng tôi có một số câu hỏi về quản lý bộ nhớ dường như tôi không hiểu. Tôi đã đọc tài liệu QT4 và nó đã không giúp tôi nhiều. Vì vậy, đó là lý do tại sao tôi ở đây.Quản lý bộ nhớ QT4
1) Được rồi vì vậy để bắt đầu, tôi hiểu rằng cách dễ nhất để sử dụng đối tượng Qt4 là để khai báo địa phương:
void MyFunc()
{
QString foo;
// do stuff to foo
}
này đơn giản là đủ, tôi có thể đưa đối tượng đó, và vượt qua nó xung quanh và biết rằng khi nó đi ra khỏi phạm vi nó sẽ bị phá hủy. Nhưng đây là câu hỏi của tôi.
1) Nếu tôi tạo một QList và thêm các đối tượng vào nó, và sau đó QList nằm ngoài phạm vi, nó sẽ cố gắng xử lý các đối tượng con không?
2) Nếu thường trình QT4 trả về một con trỏ tới một đối tượng, thì tôi có chịu trách nhiệm cho việc phân bổ đối tượng đó không?
3) Nếu tôi tạo một phân lớp của một QWidget và thêm nó vào một QWindow, làm thế nào để đảm bảo rằng khi QWindow bị phá hủy, nó có phụ tùng của tôi với nó?
Cảm ơn sự giúp đỡ.
Một số câu trả lời của bạn nằm trong tài liệu Quyền sở hữu đối tượng: http://cep.xor.aps.anl.gov/software/qt4-x11-4.2.2/objecttrees.html. –