QMap深度拷贝

发布时间 2024-01-10 22:21:29作者: 西北逍遥

QMap深度拷贝

 

#include <QMap>
#include <QPair>
#include <QDebug>

QMap<int, QString> deepCopyQMap(const QMap<int, QString>& source) {
    QMap<int, QString> target;
    for (const auto& pair : source) {
        target.insert(pair.first, pair.second);
    }
    return target;
}

int main() {
    QMap<int, QString> originalMap;
    originalMap[1] = "one";
    originalMap[2] = "two";
    originalMap[3] = "three";

    QMap<int, QString> copiedMap = deepCopyQMap(originalMap);

    // 修改原始 map 不会影响 copiedMap
    originalMap[1] = "not one";

    // 打印 copiedMap,结果应为 "one" 而不是 "not one"
    qDebug() << copiedMap[1]; // 输出: "one"
}

 

 

 

 

#########################