Buna!
Daca am o structura de tip matrice si folosesc tipul in subprograme de ce mai trebuie sa folosesc operatrul &? Nu se aplica principiul, ca numele matricii e pointer la primeul element, ca si cand ar fi de tip int?
void citesteMat(Matrice& a) {
int i, j;
cout << "Dati matricea:\n";
cin >> a.m >> a.n;
for (i = 0; i < a.m; i++)
for (j = 0; j < a.n; j++)
cin >> a.elem[i][j];
}
Răspunsuri la întrebare
Răspuns de
1
Toate structurile transmise prin valoare sunt copiate.
Daca iti definesti tipul asa, nu ti-ar mai trebui referinta:
typedef int[...][...] Matrice;
Dar atunci nu ai mai putea intoarce dimensiunile.
Poti sa faci putina magie cu C++11 si sa iti definesti o matrice asa(si nu ai mai avea nevoie de referinta de la matrice):
typedef pair<reference_wrapper<size_t> , reference_wrapper<size_t> > Dimensiuni;
typedef pair<Dimensiuni, int**> Matrice;
Dar dupa cum observi s-ar complica cu mult lucrurile
alex001super:
salut cinevafaranume ma poți ajuta la un algoritm mai dificil..
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă