같이 쓰여졌습니다 here Qt는 8 개의 스마트 포인터 클래스를 가지고 있습니다. 당신이 필요로하는 것이 전부 인 것처럼 보입니다. 그러나 이러한 스마트 포인터 중 하나를 사용하려면 클래스가 QObject에서 파생되어야하며 항상 편리하지는 않습니다. 임의의 클래스에서 작동하는 스마트 포인터의 다른 구현이 Qt에 있습니까?Qt의 스마트 포인터
18
A
답변
18
많은 Qt 클래스는 QObject에서 파생되었으며 내장 된 스마트 포인터 클래스 중 일부는 QObject (또는 QSharedData)와 관련되어 있지만 QSharedPointer 및 QScopedPointer 템플릿은 포인터를 허용합니다. 그 너머
, 당신은 Boost 일부 smart pointer templates을 확인할 수있는 것들 :
- scoped_ptr을 - 단일 객체의 간단한 단독 소유권을. 복사 불가.
- scoped_array - 배열의 단순한 단독 소유권. 복사 불가.
- shared_ptr - 개체 소유권이 여러 포인터에서 공유됩니다.
- shared_array - 배열 소유권이 여러 포인터에서 공유됩니다.
- weak_ptr - shared_ptr이 소유 한 객체를 소유하지 않은 관찰자.
- intrusive_ptr - 참조 카운트가 포함 된 개체의 공유 소유권.
관련 문제
- 1. 스마트 포인터 및 다형성
- 2. 스마트 포인터 질문
- 3. 스마트 포인터 향상
- 4. C로 쓰여진 라이브러리가있는 스마트 포인터
- 5. 자동 인스턴스화 된 스마트 포인터
- 6. 스마트 포인터 및 예외 처리
- 7. 스마트 포인터. 언제, 어디서 어떻게?
- 8. C++에서 "this"가있는 스마트 포인터
- 9. 비 객체 유형을위한 C++ 스마트 포인터?
- 10. std :: vector와 같은 컨테이너의 스마트 포인터?
- 11. 핸들 대 스마트 포인터. 무엇을 사용할 것인가?
- 12. 다음의 C++ 코드는 무엇입니까? (스마트 포인터 구현에서)
- 13. 스마트 포인터 컨테이너에 대해 mem_fun() 사용
- 14. C++ 및 스마트 포인터 -이 상황에서 스마트 포인터는 어떻게 도움이 될까요?
- 15. C++ 원시 또는 스마트 포인터 템플릿 함수 생성
- 16. C++에서 다양한 스마트 포인터 간의 변환에 대한 규칙은 무엇입니까
- 17. C++/CLI 스마트 포인터 프로젝트 (예 : scoped_ptr)가 있습니까?
- 18. 스마트 포인터 (~ auto_ptr()와 release() 사이에 차이가 있음)
- 19. BOOST 스마트 포인터 코드 만 프로젝트에 포함시키는 방법은 무엇입니까?
- 20. 부스트 스마트 포인터가 도움이됩니까?
- 21. Qt의 ComputerID
- 22. QT의 glMultiDrawArrays?
- 23. 스마트 포인터에서 유형 결정
- 24. 멀티 포인터 X (MPX) 지원
- 25. PHP를위한 스마트 폰/비 스마트 폰 결정
- 26. VS2010 F # 스마트 태그를 스마트 태그에 인텔리에서
- 27. Qt의 전역 변수, 방법?
- 28. QT의 컨텍스트 메뉴 현지화?
- 29. Qt의 캘린더 컨트롤
- 30. Qt의 화면 보관함
사실, 대부분의 포인터에 대해서는 QObject에서 파생 될 필요가 없습니다. 저는 생각하지 않습니다. 클래스 중 일부에는 클래스가 처리해야하거나 다른 Q 클래스에서 파생되어야 할 다른 것이 있습니다. AFAIK, QPointer만이 QObject에서 파생 된 클래스를 필요로합니다. 즉, 프로젝트에서 Qt를 사용할 수 있어야합니다. –