В моем проекте мне нужно несколько константных хеш-контейнеров, которые определены вне классов и функций и поэтому являются глобальными.При этом некоторые из этих контейнеров должны перекрываться.Со списками я бы сделал следующее, чтобы объединить второй const
список с первым const
списком:
const QList<QString> data1({
"one",
"two",
"three"
});
const QList<QString> data2 =
data1 +
QList<QString>({
"four",
"five"
});
Но это не работает с QHashes, так как для них нет оператора +
,Вместо этого у них есть unite
функция-член, но я не могу использовать ее, так как контейнеры const
.Итак, я хочу что-то вроде этого:
const QHash<QString,int> hash1{
{"one", 1},
{"two", 2},
{"three", 3}
};
const QHash<QString,int> hash2 =
hash1 +
QHash<QString,int>({
{"four", 4},
{"five", 5}
});
или
const QHash<QString,int> hash2({
{"four", 4},
{"five", 5}
}).unite(hash1);