Intrebare[cam offtopic..]

C/C++ este un limbaj multi-paradigmă de nivel mediu, orientat pe obiecte, folosit pe scară largă în industria software datorită echilibrului dintre viteză şi complexitate. Dacă ai nelămuriri în legătură cu acest limbaj sau vrei să ne înveți ceva chiar tu, intră aici.

Intrebare[cam offtopic..]

Postby depraved » 04 Dec 2011, 15:21

Cand vor sa aloce dinamic o matrice, de ce unii se obosesc scriind :
  1.  
  2. int **mat,randuri,coloane;//cu numarul de randuri/coloane cunoscut
  3. mat=new int*[randuri]
  4. for(i=0;i<randuri;i++)
  5. mat[i]=new int[coloane];

Cand ar putea simplu sa scrie:
  1.  
  2. int *mat, randuri,coloane;
  3. mat=new int[randuri*coloane];

Si ca timp de executie, care e varianta mai rapida ?
0,0p / 0 votes
User avatar
depraved
Bit
 
Joined: 03 Sep 2011
Status: 1

Re: Intrebare[cam offtopic..]

Postby morpheus » 04 Dec 2011, 15:49

A doua abordare e mai rapida (si recomandata).
In alta ordine de idei, daca ai nevoie frecvent de calcul cu matrici in programul tau (netrivial), mai bine te orientezi catre una din bibliotecile folosite intensiv (blitz++, boost.ublas, etc).
De asemenea, daca vrei doar o abstractie peste array-uri multidimensionale, ai boost.multi-array.
0,0p / 0 votes
User avatar
morpheus
Word
 
Joined: 30 Dec 2009
Location: Bucharest, Romania
Status: 54.84


Return to C / C++

Who is online

Users browsing this forum: No registered users and 0 guests

cron