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



Pdf көрінісі
бет494/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   490   491   492   493   494   495   496   497   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

Атауы

Типі

Нəтижесі

equal_to

бинарлы


x == y

not_equal_to

бинарлы


x != y

greater

бинарлы


x > y

less

бинарлы


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

 өрнегіне эквивалентті болып табылады.

Терістеуіштер қолданушылар тағайындаған предикаттарды инверсия-

лау (терістеу) үшін қолданылады, өйткені стандартты предикаттар үшін 

кітапханада оларға сəйкес қарама-қарсы объектілер бар. 

Терістеуіштердің жүзеге асырылуын қарастырайық. Кітапханада 



unary_function

 жəне 


binary_function

 объектілерінің өздеріне сəйкес 

ұрпақтары болып табылатын 

unary_negate

 жəне 


binary_negate

 сияқты 


функционалдық объектілері сипатталған. Бұл кластар конструктордың 

параметрі ретінде қажетті тип предикаты болып табылатын объектіні 

қабылдайды:



Достарыңызбен бөлісу:
1   ...   490   491   492   493   494   495   496   497   ...   642




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

    Басты бет