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 niezalecaneconst_cast
static_cast
dynamic_cast
reinterpret_cast
safe_cast
- wprowadzony na potrzeby platformy .Net w C++/CLI
- 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:
,
Artykuł został umieszczony na liście Zalążków artykułów. Jeżeli możesz rozbuduj go!
Kooba: co nie zmienia faktu, że są to operatory i można o nich wspomnieć w artykule o tychże
Zostawiam artykuł (na razie) do poprawy literek i dodania znaczeń operatrów ^^
no własnie dobra uwaga, czemu nie ma operatora-- ani ++.akurat mi jest to potrzebne i myslalam że tu znajd.:)
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
Coldpeer:
5, 7 i 8 - zrobię
Coldpeer: rzutowanie zdecydowanie nadaje sie na osobny art Rzutowanie
apropos przeładowania operatorow - od tego jest osobny artykuł (tzn. jeszcze nie ma)
1)dodac operator this
2) przeladowanie operatorw.
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]