§ 11. Структураваны тып даных масіў
11.3. Аперацыі над масівамі
Масівы, апісаныя тыпам даных vector, можна выкарыстоўваць у аперацыях прысвойвання. У выніку выканання гэтай каманды ўсе элементы аднаго масіву будуць перапісаны ў другі (прыклад 11.9). Калі ў апісанні вектары маюць розны памер, то ён будзе ператвораны, паколькі вектары з’яўляюцца дынамічнымі структурамі, якія могуць змяняць свой памер у час выканання праграмы. Вектары можна параўноўваць. Пры параўнанні выкарыстоўваюць аперацыі параўнання «==» і «!=». Вектары роўныя, калі яны змяшчаюць аднолькавыя элементы на тых жа пазіцыях, інакш яны не роўныя. Іншыя аперацыі для масіву як для тыпу даных не вызначаны. Аперацыі, якія выконваюцца з элементамі масіву, адпавядаюць аперацыям, якія выконваюцца над базавым тыпам. Калі, напрыклад, апісаны масіў з лікаў тыпу int, то з элементамі такога масіву можна выконваць такія ж аперацыі, як і з цэлымі лікамі. Элементы масіву называюць індэксаванымі пераменнымі. Яны могуць выкарыстоўвацца гэтак жа, як і простыя пераменныя (прыклад 11.10). |
Прыклад 11.9. Няхай масівы a і b апісаны наступным чынам: vector <int> a(25), b(30); У выніку выканання каманды: a = b; памер масіву a будзе павялічаны да 30 элементаў, усе элементы ў масіве a будуць мець тыя ж значэнні, што і ў масіве b. У выніку выканання каманды: b = a; памер масіву b будзе паменшаны да 25 элементаў, усе элементы ў масіве b будуць мець тыя ж значэнні, што і ў масіве a. Значэнні апошніх 5 элементаў, якія зыходна былі ў вектары b, будуць страчаны. Прыклад 11.10. Аперацыі над індэксаванымі пераменнымі:
|