323
Векторлар (vector)
Векторды құру үшін келесі конструкторларды қолдануға болады
(қарапайым жазбалары келтірілген):
explicit vector(); //1
explicit vector(size_type n, const T& value = T()); //2
template //3
vector(InputIter
fi rst, InputIter last);
vector(const vector& x); //4
Мысалдағы
explicit
түйінді сөзі объектіні құру кезінде басқа типтің
мəнін меншіктегенде жанамалы түрде орындалатын түрлендіруге
тыйым салу
үшін қолданылады (213 б. де қараңыз).
1-конструктор келісім бойынша берілген конструктор болып табылады.
2-конструктор ұзындығы
n
болып келетін ветор құрады да,
оны бірдей эле-
менттермен –
value
көшірмелерімен толтырады.
Вектор өлшемін өзгерту қымбатқа түсетіндіктен, оны құру кезінде
бастапқы өлшемін беру өте ыңғайлы болып саналады. Мұндайда құрамдас
типтер үшін əрбір
элементті
value
мəнімен инициалдау орындалады. Егер ол
көрсетілмесе, ауқымды (глобалды) векторлардың элементтері нөлмен иници-
алданады.
Егер вектор элементінің типін
қолданушы анықтаған болса, оның бастапқы
мəні осы тип үшін келісім бойынша берілген конструктордың көмегімен
қалыптасады. Екінші параметрдің орнына параметрлері
бар конструкторды
шақыруға болады, осылайша қажетті қасиеттерге ие болатын элементтер век-
торы құрылады (төмендегі мысалды қара).
ЕСКЕРТУ
Кез келген контейнер элементтері оған кірістірілетін объектілердің көшірмелері бо-
лып табылады. Сондықтан олар үшін көшіру конструкторы жəне
меншіктеу операциясы
анықталуы керек.
3-конструктор итераторлар көмегімен көрсетілген элементтер диапазонын
көшіру арқылы вектор құрады. Итераторлар типі «оқу үшін» болуы тиіс.
4-конструктор көшіру конструкторы болып табылады.
Конструкторларға мысалдар:
Достарыңызбен бөлісу: