Ici, je pense qu'on ne peut pas vraiment parler de tableau multidimensionnel, vu que la "seconde dimension" semble être toujours un.
Pour moi, c'est juste un "tableau de pointeurs". Et vu qu'il est question de C++, il est possible que la classe Site__t_USCOREsite fasse partie d'une hiérarchie de classe avec des fonctions membres virtuelles (ce qui nécessite d'utiliser un pointeur, même si de nos jours le fait d'utiliser des pointeurs nus pour ça est de mauvais goût).
Dans d'autre cas, on peut avoir un "pointeur de tableau" par exemple en paramètre d'une fonction:
int UneFonction(MaStructure **ppTableau) { *ppTableau = new int[36]; return 36; }
Mais là aussi, ça a mauvaise réputation en C++ où les références sont privilégiées (même si les pointeurs ont l'avantage d'être explicites lors de l'appel de fonction).
En tout cas, cela soulève l'avantage qu'il y aurait à utiliser des conteneurs C++ plutôt que des pointeurs nus. Si ton tableau était un vector<unique_ptr<Site__t_USCOREsite>>, il n'y aurait pas d'ambigüité!
PS: Des membres publics préfixés par un double-underscore, c'est aussi de mauvais goût: Les noms préfixés d'un double-underscore sont réservés pour l'usage du compilateur, tout comme ceux préfixés d'un simple underscore sont réservés pour l'implémentation de la bibliothèque standard.
Partager