Оператори во C++

 Во С++, најчесто се користат следните два типа на оператори:

  • унарни оператори - оператори кои вршат акции врз еден операнд. Наједноставен пример за унарен оператор е '-' операторот, кој може (на пример, во изразот -155) да изврши акција врз еден операнд (155) и да произведе нова вредност (-155).
  • бинарни оператори - оператори кои вршат акции врз два операнди. На пример, во изразот "3+5", операторот '+' претставува бинарен оператор 

Доделување на вредност (=)

Во C++, вредности на променливите им се доделуваат со примена на операторот '='.  Доделувањето на вредности се извршува од десно на лево (вредноста која се наоѓа од десна страна на операторот '=' и се доделува на променливата која се наоѓа од лева страна на операторот)


Доделувањето вредност може да се изврши на два начини: експлицитно и имплицитно 

int nValue = 5; // explicit assignment 
double dValue(4.7); // implicit assignment 

Аритметички оператори (+, -, *, /, %)

C++ подржува 5 бинарни аритметички оператори: оператор за собирање (+), оператор за одземање (-), оператор за множење (*), оператор за делење (/) и оператор за пресметка на остаток од делење (%).

 

Скратување на изрази (+=, -=, *=, /=, %=, ++, --) 

а=а+1         а+=1       a++ 
а=а*b         а*=b


Prefiks i postfiks

Ако x е цел број чија вредност е 5 и напишеме
int a = ++x;
тоа значи дека компајлерот го инкрементира x ( x добива вредност 6), а потоа вредноста ја враќа на а. Значи а = x = 6.

Ако потоа напишеме
int b = x++;
тоа значи да се додели вредноста од x (6) на променливата b, а потоа да се инкрементира x. Сега b =6, x = 7.

x = 3;
y = ++x;
// x contains 4, y contains 4
x = 3;
y = x++;
// x contains 4, y contains 3

Релациски оператори (==, !=, <, >, <=, >=)

Логички оператори (!, &&, ||)


Експлицитно претопување

Претопување претставува претворање на податок од еден тип во друг. Кога вршиме операции врз податоци од различен тип, C++ се обидува, самиот, да претвори еден од податоците во соодветниот податочен тип на другиот (поедноставниот тип се претвора во посеопфатниот тип). Оваа постапка се нарекува имплицитно претопување. 

Во C++ постојат оператори за експлицитно претопување, кои овозможуваат рачно претворање на податок од еден тип во друг 

static_cast<type> (object);
Кој е излезот во програмскиот сегмент 
    float f = 3.5; 
    int a = f; // this is how you do in C 
    int b = static_cast<int>(f); 
    cout << "b="<<b<<endl;
    cout <<"a="<<a<<endl;
    cout << "f="<<f<<endl;
    return 0;
}

Операторот sizeof ја прикажува големината на податочните типови во бајти









No comments: