C ++ 11 range based auto für Schleife nach Wert, Referenz und Zeiger

Ich weiß, wie man das automatische Schlüsselwort in der for-Schleife verwendet, um dieses Array entweder nach Wert oder Referenz zu iterieren.

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();
  }
}

Ich suche also die dritte Version dieser Konvention. Wie verwende ich Zeiger hier?