Ce qui veut donc dire que ce n'est pas possible en soi.
Bien sûr que non ! Les calculs d'adresse par indexation de tableau se font avec multiplication de l'index par la taille de l'element, la multidimension etant simplement traité comme un vecteur de vecteur. Une taille dynamique impliquerait donc une multiplication par une taille dynamique, or la manière dont C/C++ stocke les tableau et gère l'équivalence sémantique avec l'adresse empeche de stocker les dimensions... Donc pas de tableau dynamique multidimensionel possible.
. Est-il possible d'initialiser un objet dans une zone de mémoire déjà définie (à priori non puisque qu'on devrait définir cette zone mémoire à l'aide d'un "new Object"). Je crois que même un (Object *)this->Object() créera une nouvelle instance plutôt que d'initialiser celle pointée par this.
Ouai, il suffit de surdéfinir l'opérateur new.
Est-ce qu'il existe en C++ l'équivalent de realloc() ? Parce que là, par contre, c'est vraiment pénible d'avoir à faire soi-même le transfert. En plus, cela implique un déplacement de pointeur et une cohabitation temporaire de deux segments de mémoire même lorsque ce n'est pas nécessaire (ex: troncature du segment initial).
Non. De plus je ne vois pas ce que tu veux dire en parlant de segments ? Le modèle le plus courrament rencontré est plat.
[^] # Re: Rien ne vaut un exemple ...
Posté par Guillaume Knispel . En réponse au message Tableaux dynamiques multidimmensionnels. Évalué à 3.
Bien sûr que non ! Les calculs d'adresse par indexation de tableau se font avec multiplication de l'index par la taille de l'element, la multidimension etant simplement traité comme un vecteur de vecteur. Une taille dynamique impliquerait donc une multiplication par une taille dynamique, or la manière dont C/C++ stocke les tableau et gère l'équivalence sémantique avec l'adresse empeche de stocker les dimensions... Donc pas de tableau dynamique multidimensionel possible.
. Est-il possible d'initialiser un objet dans une zone de mémoire déjà définie (à priori non puisque qu'on devrait définir cette zone mémoire à l'aide d'un "new Object"). Je crois que même un (Object *)this->Object() créera une nouvelle instance plutôt que d'initialiser celle pointée par this.
Ouai, il suffit de surdéfinir l'opérateur new.
Est-ce qu'il existe en C++ l'équivalent de realloc() ? Parce que là, par contre, c'est vraiment pénible d'avoir à faire soi-même le transfert. En plus, cela implique un déplacement de pointeur et une cohabitation temporaire de deux segments de mémoire même lorsque ce n'est pas nécessaire (ex: troncature du segment initial).
Non. De plus je ne vois pas ce que tu veux dire en parlant de segments ? Le modèle le plus courrament rencontré est plat.