: 나는 내 Employee.h에 헤더에 다음과 같은 Employee.cpp 있습니다 #include <QSharedData>
#include <QString>
class EmployeeData;
class Employee: public QObject
{
Q_OBJECT
public:
Employee();
Em
QSharedData을 사용하는 동안 타입 시스템을 만들려고합니다. 아이디어는 간단합니다. 여러 가지 데이터 유형이 있습니다. 각 유형은 기본 추상 클래스에서 파생됩니다. QSharedData을 사용하여 각각의 실제 데이터를 저장하려고하지만 파생 클래스 각각에 다른 데이터가 저장 될 것입니다. 나는 지금 가장 기본적인 예제를 만들고, 몇 가지 문제를 겪고있
다음 예제의 암시 적 공유 개념에 따르면 Windows 작업 관리자에서 메모리 사용량이 적어야합니다. 클래스에서 for 루프로 1000000 객체를 만들고 생성 된 객체간에 내부 데이터 (EmployeeData 클래스)를 공유 할 수 있습니다. for (int i = 0; i < 1000000; ++i) {
Employee *e1 = new Em
Qt는 통합 참조 카운트가 QSharedData 및 QSharedDataPointer 인 객체를 생성하기위한 빌드 인 (build-in) 지원을 제공합니다. 모든 작품은 훌륭하지만 각 객체에 대해서는 많은 코드를 작성해야합니다 : QSharedData - 생성자 및 복사 생성자, 각 클래스의 접근 자 메소드가있는 객체 클래스 itsef를 사용하는 구현 클래
해당 유형의 헤더를 포함하면 컴파일 시간이 크게 늘어나고이 클래스를 사용하는 모든 프로젝트에이 클래스를 사용해야하기 때문에 호출자에게 숨길 데이터 멤버가있는 클래스가 있습니다. 포함 경로에 추가 경로 추가). 이 클래스는 QSharedDataPointer을 사용하여이 데이터를 저장합니다. 이렇게하면 기본 복사 생성자를 사용하여 복사 할 수 있습니다. 이 클
는 최근에 나는 Qt는이 QSharedData 및 QSharedDataPointer 클래스와 함께하는 것처럼 암시 공유 기능을 구현하고 싶었다, 그래서 나는 그들의 소스를 확인해 보니 QSharedData의 장소에서 나는이 세 줄을 발견 private:
// using the assignment operator would lead to corrup
누군가가 QSharedDataPointer 및 QSharedData와 같은 시스템을 사용하여 암시 적 공유를했는지 궁금합니다. Qt에 대한 대체 라이브러리에서 pimpl 관용구와 함께 사용하는 것이 적절합니까? 가능한 경우 시스템에 추가 종속성을 추가하지 않으려 고 노력했으며 내 옵션이 무엇인지 궁금합니다.