Vectorii multi-dimensionale

O matrice statică este o matrice de matrice, de exemplu. E. Array ale cărui elemente sunt matrice în conformitate cu sintaxa limbii.

In mod similar, un vector multidimensional - un vector de vectori, adică un vector ale cărui elemente sunt vectori ...

/ * Crearea unui vector bidimensional (matrice) de tip întreg cu număr necunoscut de rânduri și coloane * /

cout<<” Введите число строк и столбцов”;

dvec.push_back (VEC); // Load într-o matrice a unui alt șir

Dacă numărul de rânduri și N numărul de coloane din matricea M ne sunt cunoscute, este necesar să se utilizeze o structură pentru crearea unei matrice

vector> Matrix (N, vector(M));

// Între cele două paranteze unghiulare trebuie să fie gol!

Inițializeze o matrice poate într-o manieră convențională:

Astfel, această matrice include N rânduri, fiecare rând - este un vector de elemente M, adică, cu rânduri de matrice poate funcționa ca o convențional vectori unidimensionale folosind STL întregul aparat ... Dacă introduceți un șir de caractere, sau elimina din elementele, dimensiunea șirului va varia.

Prin urmare, în contrast cu matrice statice din vector bidimensional (matrice), numărul de elemente din rândurile pot fi diferite.

Vectorul poate fi un parametru de funcționare și poate fi returnat ca rezultat al funcției.

containere STL sunt întotdeauna copiate în orice încercare de a le transfera ca parametru.

Astfel, dacă treci un vector al unei funcții de milioane de elemente descrise după cum urmează:

atunci toate milioanele de elemente vor fi copiate pe de altă parte, vectorul temporar, care va fi lansat la ieșirea funcției funcției. Dacă această funcție este numit într-o buclă pe performanța programului poate fi uitat imediat.

Dacă nu doriți containerul pentru a crea un vector temporar de fiecare dată când apelați funcția, utilizați trece prin referință. Un obicei bun este de a utiliza cu const modificator. în cazul în care funcția nu se va schimba conținutul containerului.

funcția void (vector const v)

În cazul în care conținutul containerului se poate schimba în cursul funcției, modificatorul const nu ar trebui să scrie:

Vectorul bidimensional, precum unidimensional, sunt transferate la funcția link.

funcția void (vector> dvec) // Parametrul oficial -