В моем проекте мне нужно несколько постоянных хэш-контейнеров, которые определены вне классов и функций и поэтому являются глобальными. При этом некоторые из этих контейнеров должны перекрываться. Со списками я бы сделал следующее, чтобы объединить второй список 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}
});
or
const QHash<QString,int> hash2({
{"four", 4},
{"five", 5}
}).unite(hash1);