OVH Cloud OVH Cloud

pb de tableaux multidimensionnels

11 réponses
Avatar
Marc
Y-a-t-il un modèle dans la STL implémentant les tableaux multidimensionnels,
l'équivalent de vector<> pour les tableaux unidimensionnels ?
Nota : je cherche un modèle pour les tableaux de taille quelconque et
variable et pas seulement bi-dimensionnels, ce qui serait facile à
programmer...Par exemple un modèle où dans le constructeur on passerait un
vector<int> spécifiant les dimensions du tableau. J'ai essayé de m'y mettre
et ça coule pas de source...
Marc

1 réponse

1 2
Avatar
Marc
En fait, la méthode canonique pour passer un objet (i.e. autre chose
qu'un type de base) en argument d'une fonction est le passage par
référence constante. Donc il faut que ça marche, même dans le cas où
il y a une valeur par défaut.


Je suis d'accord avec toi, mais on aurait pu penser qu'il faille (aïe)
écrire

void f(const T&);
T x;
f(x);

au lieu de f(T()) directement.
J'ai lu dans le stroustrup que dans ce dernier cas un temporaire est créé
qui a la même "durée de vie" que la portée de la référence qui le pointe (on
se comprend), donc tout le corps de la fonction dans le cas présent.
On peut même écrire
const int &x=1;
x est alors une réfence vers un temporaire non nommé qui contient 1 est est
détruit quand on quitte la portée de x.
Marc

1 2