Wie viele Verschachtelungsebenen von Pointern kann es in C++ geben?
Hallo zusammen. Ich schreibe seit etwa einem Jahr in C++ und eine theoretische Frage beschäftigt mich. Ich weiß, dass man Pointer auf Pointer erstellen kann, z.B. `int** ptr`, und sogar dreifache Pointer `int*** ptr`. Aber wie weit kann man gehen? Gibt es eine Einschränkung im Sprachstandard, oder hängt es vom Compiler/der Plattform ab?
Zum Beispiel kann ich schreiben:
```cpp
int a = 5;
int* p1 = &a;
int** p2 = &p1;
int*** p3 = &p2;
int**** p4 = &p3;
// und so weiter...
```
Aber was ist, wenn ich versuche, einen Pointer mit 100 Verschachtelungsebenen zu erstellen? Wird das kompilieren? Und wenn ja, wie wird es zur Laufzeit funktionieren? Mir scheint, dass in der Praxis niemand mehr als 2-3 Ebenen verwendet, aber ich möchte die formalen Grenzen verstehen.
Mich interessiert auch, ob es in dieser Frage einen Unterschied zwischen C und C++ gibt? Ich habe gehört, dass die Einschränkung in C strenger sein könnte. Und noch: Beeinflusst das die Performance? Ich wäre für eine ausführliche Antwort mit Beispielen und Verweisen auf den Standard dankbar, falls möglich.
<<>>