#include <initializer_list>
struct Obj {
int i;
};
Obj a, b;
int main() {
for(Obj& obj : {a, b}) {
obj.i = 123;
}
}
Этот код не компилируется, поскольку значения из initializer_list {a, b} принимаются как const Obj& и не могут быть привязаны к неконстантной ссылке obj.
Есть ли простой способ заставить подобную конструкцию работать, то есть перебирать значения, которые находятся в разных переменных, например, здесь a и b.