2010-04-12 8 views
4

Qt는 데이터 관리를 위해 D- 포인터를 사용하는 방식을 잘 알고 있습니다. 내 코드에서이 작업을 어떻게 수행합니까?Qt 외부에서 암시 적으로 공유 된 클래스 구현

1) 구조체 2에 모든 데이터를 이동) 구조체 3에 QAtomicInt 추가) A = 연산자 구현 기준에 근접을 확인 내 생성자/deconstructor을 변경

는 I이 방법을 시도 카운트.

개체의 얕은 복사본을 만들 때 문제가 발생하면 QObject를 private로 선언 할 때 오류가 발생합니다. 그렇다면 어떻게해야합니까? 내가 길을 잘못 이것에 대해가는

HttpRequest & HttpRequest::operator=(const HttpRequest &other) 
{ 
    other.d->ref.ref(); 
    if (!d->ref.deref()) 
     delete d; 
    d = other.d; 
    return *this; 
} 

암 :

여기 내 복사 연산자의 예?

+0

정확한 오류 란 무엇인가요? – shoosh

답변

0

AFAIK QObject는 복사 할 수 없습니다. 그렇기 때문에 QObject에 개인 연산자가있는 이유는 무엇입니까? 그렇다면 질문을하는 이유는 무엇입니까? 그렇다면 실제로 개체가 QObject가되어야합니까?

관련 문제