草庐IT

c++ - 如何在 C++ 中迭代非常量变量?

#includestructObj{inti;};Obja,b;intmain(){for(Obj&obj:{a,b}){obj.i=123;}}此代码无法编译,因为initializer_list{a,b}中的值被视为constObj&,无法绑定(bind)到非常量引用obj.是否有一种简单的方法可以使类似的构造工作,即迭代不同变量中的值,例如a和b这里。 最佳答案 它不起作用,因为在{a,b}中您正在制作a和b的拷贝。一种可能的解决方案是使循环变量成为指针,获取a和b的地址:#includestructObj{inti;};Ob

c++ - 如何在 C++ 中迭代非常量变量?

#includestructObj{inti;};Obja,b;intmain(){for(Obj&obj:{a,b}){obj.i=123;}}此代码无法编译,因为initializer_list{a,b}中的值被视为constObj&,无法绑定(bind)到非常量引用obj.是否有一种简单的方法可以使类似的构造工作,即迭代不同变量中的值,例如a和b这里。 最佳答案 它不起作用,因为在{a,b}中您正在制作a和b的拷贝。一种可能的解决方案是使循环变量成为指针,获取a和b的地址:#includestructObj{inti;};Ob
12