методы
QMap<QString, QString>::const_key_value_iterator Point::begin() const {
return parameters.constKeyValueBegin();
}
QMap<QString, QString>::const_key_value_iterator Point::end() const {
return parameters.constKeyValueEnd();
}Хотел использовать structured binding в for-ranged loop, типа так:
for (const auto& [parameter, value] : point) {
...
}Компилятор пишет предупреждение: loop variable '[parameter, value]' is always a copy because the range of type 'const Point' does not return a reference. Можно ли тут как-то работать именно с константными ссылками? Как я понял, по документации QKeyValueIterator::operator* возвращает копию std::pair<Key, T>, но это единственный итератор, с которым получается сделать structured binding
используй универсальную ссылку: for (auto &&[k, v] : point) { }
Обсуждают сегодня