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:
  • `rzutowanie w stylu C` - wciąż istnieje, ale jest niezalecane
  • `const_cast`
  • `static_cast`
  • `dynamic_cast`
  • `reinterpret_cast`
  • `safe_cast` - wprowadzony na potrzeby platformy .Net w C++/CLI
  • Operatory wskaźnikowe:
  • &
  • *
  • []
  • Operatory pamięci:
  • New
  • Delete
  • new[]
  • delete[]
  • 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:
  • throw
  • Nawiasy okrągłe:
  • (
  • )
  • Przecinek:
  • ,
Artykuł został umieszczony na liście [[Zalazki artykulow|Zalążków artykułów]]. Jeżeli możesz rozbuduj go!

9 komentarzy

1)dodac operator this
2) przeladowanie operatorw.

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

  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]

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