QList를 편집 할 수있는 몇 가지 함수가있는 다른 클래스의 인스턴스에 대한 포인터를 소유하는 클래스에 저장된 단일 QList가 있습니다. C++의 여러 클래스에서 하나의 QList를 편집 할 수 있습니다. 목록에서 요소를 제거 할 때 클래스 A의 myvariable 변수에서도 제거하려고합니다. 코드는 아래와 같습니다다른 함수에서 동일한 QList 편집
class classA {
...
private:
ClassB *myclass;
QList<mytype> myvariable;
}
class classB {
classB::classB(QList<mytype> &variable) {
this->myvariable = variable;
}
...
private:
QList<mytype> myvariable;
}
당신이 "하나"QList를 말할 때, 프로세스 당 하나 또는 객체 인스턴스 당 하나의 점이다? "여러 클래스"라고 할 때, 같은 클래스의 여러 객체 인스턴스를 의미합니까? 또는 정말로 모든 클래스에서 하나의 QList에 액세스 할 수있게하려면? 모든 클래스가 단일 인스턴스에 액세스 할 수있게하려면 QList를 전역 변수로 만드는 것이 좋습니다. –
QList는 A와 B 두 클래스 사이에서 공유되어야합니다. 그러나 클래스 A는리스트의 인스턴스를 소유합니다. – Stefano
FYI, myclass는 myclass를 소유하고 있다면 아마도 std :: unique_ptr myclass이어야합니다. –
Zac