330 explicit deque(); //1 explicit deque(size_type n, const T& value = T()); //2 template //3 deque(InputIter fi rst, InputIter last); deque(const vector& x); //4 1-конструктор келісім бойынша берілген конструктор болып табылады.
2-конструктор ұзындығы
n болатын кезек құрады да, оны бірдей элемент-
термен –
value көшірмелерімен толтырады.
3-конструктор итераторлардың көмегімен көрсетілген элементтер диапазо-
нын көшіру арқылы кезек құрады. Итераторлардың типі «оқу үшін» болуы тиіс.
4-конструктор көшіру конструкторы болып табылады.
Конструкторлар мысалдары:
// бірге тең 10 элементтен тұратын кезек құрылады: deque d2 (10, 1); // v1 кезегіне тең кезек құрылады: deque d4 (v1); // өткен бөлімдегі v1 векторының алғашқы екі элементіне // тең екі элементтен тұратын кезек құрылады: deque d3 (v1.begin(), v1.begin() + 2); // monstr класын ың 10 объектісінен тұратын кезек // құрылады (197 б. қараңыз) // (келісім бойынша берілген конструктор жұмыс істейді): deque m1 (10); // monstr класының атаулары берілген 5 объектісінен // тұратын кезек құрылады // (char* параметрлі конструктор жұмыс істейді): deque m2 (5, monstr("Bacя кезекте")); Қарастырылып отырған
deque шаблонында меншіктеу операциясы,
көшіру функциялары, итераторлар, салыстыру операциялары, элемент- терге қол жеткізу жəне объектілерді өзгерту операциялары мен функцияла-
ры анықталған, олар вектордың осыларға сəйкес операциялары мен функция-
ларына ұқсас болып келеді.
Вектор жағдайындағы сияқты, кірістіру мен жою элементтердің саны-
на пропорционал уақытта орындалады. Егер осы операциялар кезектің ішкі
элементтерімен орындалатын болса, кезек элементтеріне сілтемелер мен
итераторлардың барлық мəндері жарамсыз болады. Кез келген шетіне қосу
операцияларынан кейін итераторлардың барлық мəндері жарамсыз болып
шығады, ал кезек элементтеріне сілтемелердің мəндері сақталады. Кез келген
шетінен таңдау операцияларынан кейін тек осы элементтермен байланысты
итераторлар мен сілтемелердің мəндері жарамсыз болады.
Аталғандармен қатар, кезектің басына қосу жəне таңдау функциялары
анықталған: