Operatory

Szemek

Operator to jeden lub kilka znaków (zazwyczaj nie będących literami), które mają specjalne znaczenie w języku programowania. W C++ wyróżniamy następujące rodzaje operatorów:

  • Operatory arytmetyczne:
    • + - dodawanie
    • - - odejmowanie
    • * - mnożenie
    • / - dzielenie
    • % - modulo (reszta z dzielenia)
  • Operatory bitowe:
    • <code><<</code> - przesunięcie w lewo
    • <code>>></code> - przesunięcie w prawo
    • ~ - negacja bitowa
    • & - bitowy iloczyn logiczny (bitowa koniunkcja)
    • | - bitowa suma logiczna
    • ^ - bitowa różnica symetryczna
  • Operatory porównania:
    • <code><</code> - mniejszy niż
    • <code><=</code> - mniejszy bądź równy
    • <code>></code> - większy od
    • <code>>=</code> - większy bądź równy
    • == - równy
    • != - różny od
  • Operatory logiczne:
    • ! - negacja
    • && - iloczyn logiczny
    • || - suma logiczna
  • Operatory przypisania:
    • = - zwykłe przypisanie
    • += - dodaj i przypisz
    • -= - odejmij i przypisz
    • *= - mnóż i przypisz
    • /= - dziel i przypisz
    • %= - modulo i przypisz
    • &= - koniunkcja i przypisanie
    • |= - alternatywa i przypisanie
    • ^= - bitowa różnica symetryczna i przypisanie
    • <code><<=</code> - przesunięcie w lewo i przypisanie
    • <code>>>=</code> - przesunięcie w prawo i przypisanie
  • Operatory rzutowania:
  • Operatory wskaźnikowe:
    • &
    • *
    • []
  • Operatory pamięci:
  • Operator Sizeof
  • Operator zasięgu:
    • ::
  • Operator wyłuskania:
    • <code>.</code> - dla obiektu
    • <code>-></code> - dla wskaźnika do obiektu
  • Operator warunkowy (trójperandowy):
    • ? (warunek ? powodzenie : niepowodzenie)
  • Operator rzucania wyjątku:
  • Nawiasy okrągłe:
    • (
    • )
  • Przecinek:

9 komentarzy

1) new[] nie może być linkiem, nazwą jak widać - linkuje tylko new[
2) nieścisłości językowe: przypisz, przypisanie - raz tak, raz tak
3) dla ?: spotkałem się z nazwą "ternariusz" i nawet chyba używałem tej nazwy
4) trójperandowy - miało być trójoperandowy czy to jakaś nowa nazwa? [serio pytam :P]

1)dodac operator this
2) przeladowanie operatorw.

apropos przeładowania operatorow - od tego jest osobny artykuł (tzn. jeszcze nie ma)

no własnie dobra uwaga, czemu nie ma operatora-- ani ++.akurat mi jest to potrzebne i myslalam że tu znajd.:)

Zostawiam artykuł (na razie) do poprawy literek i dodania znaczeń operatrów ^^

Kooba: co nie zmienia faktu, że są to operatory i można o nich wspomnieć w artykule o tychże

Coldpeer: rzutowanie zdecydowanie nadaje sie na osobny art Rzutowanie

Coldpeer:

  1. ?zasięg? i ?wyłuskanie? brzmią dobrze, nie marudź
  2. albo może ?trynarny? (ang. ternary)?
  3. nawiasy wpływają na kolejność wykonywania innych operatorów, mogą być więc nazywane operatorami (albo lepiej: metaoperatorami)
    5, 7 i 8 - zrobię

1) Można by trochę urozmaicić, poprawić niektóre nazwy bo np. trochę dziwna ta nazwa"wyłuskania" (raczej jest to "wskaźnik do obiektu") albo "zasięgu" - trochę dziwnie brzmi, sugeruję "dostępu" - ot taka mała moja sugestia
2) Przydałoby się dodać jakieś przykłady, rozbudować tekst
3) Co do operatora warunkowego, ja bym to nazwał "trójperandowy" albo po prostu "operator ?" - ale ok. Tak też może być.
4) Nawiasy okrągłe to też operatory?
5) Dodać inne niewymienione operatory, jak np. postinkrementacji (++), czy dekrementacji (--) [arytmetyczne]
6) Dodać operatory rzutowania: static_cast, const_cast itd.
7) Dodać operator rzucenia wyjątku throw?
8) Zrobić linki operatorów takich jak new, delete, sizeof poprzez np. [[C/sizeof]]

Pozdrawiam