且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

基于C ++ 11范围的自动按值,引用和指针循环

更新时间:2023-11-03 11:01:10

  A a [2]; (auto& x_:a){
auto * x =& x_;
;
// code
}


I know how to use auto keyword in for loop to iterate this array either by value or reference.

struct A {
 void fun() {};
};

int main() {
  A a[2];

  // Value
  for (auto x : a) {
    x.fun();
  }

  // Ref
  for (auto& x : a) {
    x.fun();
  }

  // Pointer
  //for (...) {
    x->fun();
  }
}

So I am looking third version of this convention. How do I use pointer here?

A a[2];
for(auto& x_:a){
  auto* x = &x_;
  // code
}