(63)迭代器 :
++
(64)隐式共享:
++给出一言的教导:
#include <QSharedData>
#include <QSharedDataPointer>
class MyData : public QSharedData
{
public: int value;
MyData(int val = 0) : value(val) {}
};
class MySharedClass
{
private: QSharedDataPointer<MyData> d;
public:
MySharedClass(int val = 0) : d(new MyData(val)) {}
int value() const { return d->value; }
void setValue(int val)
{ if (d->value != val) {
d.detach(); // 确保数据独立
d->value = val;
}
}
};
// 使用示例
MySharedClass a(10);
MySharedClass b = a; // 浅拷贝
b.setValue(20); // 触发写时复制
qDebug() << a.value(); // 输出10(未受影响)
qDebug() << b.value(); // 输出20
(65)不再提倡的遍历宏函数 foreach ( ) :
++ 给出 vs2019 里 std :: pair <U , V > 的定义:
(66)
谢谢