Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет338/465
Дата09.01.2023
өлшемі3,66 Mb.
#60709
түріПрограмма
1   ...   334   335   336   337   338   339   340   341   ...   465
Байланысты:
аибм сплюс

x < y
greater_equal
бинарлы
x >= y
less_equal
бинарлы
x <= y
logical_and
бинарлы
x && y
logical_or
бинарлы
x || y
logical_not
унарлы
!x
Төменде 
equal_to
объектісінің шаблоны берілген (қалған объектілер 
осыған ұқсас түрде сипатталған):
template struct equal_to : 
 
binary_function{
 
bool operator()(const T& x, const T& y) const{ 
 
return x == y;
 
}
};
Программалаушы объектілерді салыстыру критерилерін анықтау үшін 
өзіндік предикаттарын сипаттай алады. Бұл əрекет контейнер қолданушы 
анықтайтын типтегі элементтерден тұратын кезде қажет. Мысалы, 197 б. 
сипатталған 
monstr
класы үшін екі объектіні
 ammo
өрісінің мəні бойынша 
салыстыратын предикат төмендегідей түрде болады:
struct monstr_less_ammo:
 
public binary_function
 
bool operator ()(monstr & ml, monstr & m2){ 
 
return m1.get_ammo() < m2.get_ammo();
 
}
};
Предикаттарды қолдану мысалдары 367, 391, 394 беттерде берілген.


366
Терістеуіштер
Қарастырылатын 
not1
жəне 
not2
терістеуіштері сəйкесінше қарама-
қарсы унарлы жəне бинарлы предикаттарды алу үшін қолданылады. 
Терістеуіштерді қолдану өте жеңіл. Мысалы, 
less()
предикатының 
инверсиясын алу үшін, 
not2(less())
өрнегін жазу керек. Ол 
greater_equal
өрнегіне эквивалентті болып табылады.
Терістеуіштер қолданушылар тағайындаған предикаттарды инверсия-
лау (терістеу) үшін қолданылады, өйткені стандартты предикаттар үшін 
кітапханада оларға сəйкес қарама-қарсы объектілер бар. 
Терістеуіштердің жүзеге асырылуын қарастырайық. Кітапханада 


Достарыңызбен бөлісу:
1   ...   334   335   336   337   338   339   340   341   ...   465




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет