Multi-измерни вектори

Статично масив е масив от масиви, т.е.. Е. Array чиито елементи са масиви в съответствие със синтаксиса на езика.

По същия начин, многомерен вектор - вектор, на вектори, т.е., вектор, чиито елементи са векторите ...

/ * Създаване на двумерен вектор (матрица) от типа число с неизвестен брой редове и колони * /

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

dvec.push_back (VEC); // Load в матрица от друг низ

Ако броят на редовете и N броя на колоните на матрицата М са известни за нас, е необходимо да се използва структура за създаване на матрица

вектор> Матрица (N, вектор(М));

// Между двете ъглови скоби трябва да бъде празно!

Инициализира може матрица по конвенционален начин:

По този начин, тази матрица включва N реда, всеки ред - е вектор на M елементи, т.е., с матрични редове могат да действат като конвенционални едномерни вектори използват STL целия апарат ... Ако поставите низ, или да я премахнете от елементите, от размера на низ ще се различават.

Следователно, за разлика от статични масиви в двумерен вектор (матрица), броят на елементите в редовете могат да бъдат различни.

Векторът може да бъде параметър функция, и могат да бъдат върнати в резултат на функцията.

STL контейнери винаги се копират в каквито и да било опити да ги прехвърлят като параметър.

По този начин, ако се премине вектор на функция за милион елементи, описана както следва:

След това всички милиони елементи ще бъдат копирани от друга страна, временно вектор, който ще бъде издаден на изхода на функцията функция. Ако тази функция се нарича в цикъл на изпълнение на програмата може да бъде забравена веднага.

Ако не искате контейнера за създаване на временна вектор всеки път, когато ти се обадя на функцията, използвайте пас чрез препратка. Един добър навик е да се използва с CONST модификатори. ако функцията няма да се променя съдържанието на контейнера.

невалидни функция (конст вектор х)

Ако съдържанието на контейнера могат да се променят в хода на функция, Конст модификатора не трябва да напишете:

Двуизмерният вектор, както едномерен, се прехвърлят към функцията за връзка.

невалидни функция (вектор> dvec) // Официално параметър -