Avatar ·

Combien de niveaux d'imbrication de pointeurs peut-il y avoir en C++ ?

Bonjour à tous. J'écris en C++ depuis environ un an, et une question théorique me taraude. Je sais qu'on peut créer des pointeurs vers des pointeurs, par exemple `int** ptr`, et même des pointeurs triples `int*** ptr`. Mais jusqu'où peut-on aller ? Y a-t-il une limitation dans la norme du langage, ou cela dépend-il du compilateur/de la plateforme ? Par exemple, je peux écrire : ```cpp int a = 5; int* p1 = &a; int** p2 = &p1; int*** p3 = &p2; int**** p4 = &p3; // et ainsi de suite... ``` Mais que se passe-t-il si j'essaie de créer un pointeur avec 100 niveaux d'imbrication ? Est-ce que cela se compilera ? Et si oui, comment cela fonctionnera-t-il à l'exécution ? Il me semble qu'en pratique, personne n'utilise plus de 2-3 niveaux, mais je voudrais comprendre les limites formelles. Je m'intéresse aussi à savoir s'il y a une différence entre C et C++ sur ce point. J'ai entendu dire qu'en C, il y a une limit