企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 概述 - `QSharedData` 是 Qt 框架中用于实现共享数据的类。 - 它通常与 `QSharedDataPointer` 一起使用,以便多个对象可以共享相同的数据,从而减少内存消耗和提高性能。 - 这在 Qt 中的许多类中都有应用,特别是在处理复杂的数据结构时很有用 ## 示例 ``` // 使用继承的方式 class MyShare :public QSharedData { public: int age; }; // 引入 class MyClass { public: MyClass():d(new MyShare) {} ~MyClass() { } void setAge(int age) { d->age = age; } int getAge() const { return d->age ; } private: QSharedDataPointer<MyShare> d; }; int mian(){ MyClass my; my.setAge(123); qDebug() << my.getAge(); MyClass my2=my; qDebug() << my2.getAge(); //123 // 如果修改了my2.则 age 会变换 my2.setAge(1234); qDebug() << my2.getAge(); //1234 qDebug() << my.getAge(); //123 } ```