Tuesday, December 23, 2014

19.1.1 Операторууд (operators)

Хүснэгт 19.2. С++ хэлний операторууд

Оператор
Oперанд
Тайлбар
Жишээ
Нийцэл
XA
::
нэг
глобал үйлчлэх хүрээг заана
:: name
<
-
::
хоёр
класс/нэрийн мужийн үйлчлэх хүрээг заана
className::memberName
>
-
->
хоёр
гишүүн элементийг заагчаар дамжуулан сонгох
ptr->memberName
>
-
.
хоёр
гишүүн элементийг обьектоор дамжуулан сонгох
obj.memberName
>
-
->
нэг
ухаалаг заагч
obj->member
<
Г
[ ]
хоёр
индексийг заана
ptr[expr]
>
Г
( )
дурын [a]
функц дуудах
function(argList)
>
-
( )
дурын
анхны утгыг оноох
className(argList)
>
Г
++
нэг
постфикс нэмэгдүүлэх
varName++
<
+
--
нэг
постфикс хорогдуулах
varName--
<
+
typeid
нэг
төрөл тогтоох
typeid(type) or typeid(expr)
<
-
dynamic_cast
хоёр
төрлийг хяналттайгаар динамик горимд хувиргах
dynamic_cast<type>(expr)
>
-
static_cast
хоёр
төрлийг хяналттайгаар статик горимд хувиргах
static_cast<type>(expr)
>
-
reinterpret_cast
хоёр
төрлийг хянахгүй хувиргах
reinterpret_cast<type>(expr)
>
-
const_cast
хоёр
тогтмолыг хувиргах
const_cast<type>(expr)
>
-
sizeof
нэг
хэмжээг байтаар илэрхийлэх
sizeof expr or sizeof(type)
<
-
++
нэг
префикс нэмэгдүүлэх
++varName
<
+
--
нэг
префикс хорогдуулах
--varName
<
+
~
нэг
бит дээрх үгүйсгэл
~ expr
<
+
!
нэг
логик үгүйсгэл
! expr
<
+
+, -
нэг
унарy plus, unary minus
+expr or -expr
<
+
*
нэг
заагчийн агуулгыг сонгох
* ptr
<
+
&
нэг
хаяг тогтоох
& lvalue
<
+
new
нэг
санах ой хуваарилах
new type or new type(expr-list)
<
+
new [ ]
нэг
дараалласан санах ой хуваарилах
new type [ size ]
>
+
delete
нэг
хуваарилсан санах ойг чөлөөлөх
delete ptr
<
+
delete [ ]
нэг
дарааллан хуваарилсан санах ойг чөлөөлөх
delete [ ] ptr
<
Г
( )
хоёр
төрлийг шилжүүлэх С хэлний хэлбэр
( type ) expr
<
- [b]
->*
хоёр
заагчийн тусламжтайгаар гишүүн заагчийг сонгох
ptr->*ptrToMember
>
Г
.*
хоёр
обьектийн тусламжтайгаар гишүүн заагчийг сонгох
obj.*ptrToMember
>
-
*
хоёр
үржүүлэх
expr1 * expr2
>
+
/
хоёр
хуваах
expr1 / expr2
>
+
%
хоёр
хуваалтын үлдэгдэл олох
expr1 % expr2
>
+
+
хоёр
нэмэх
expr1 + expr2
>
+
-
хоёр
хасах
expr1 - expr2
>
+
<<
хоёр
зүүн тийш шилжүүлэх
expr << shiftAmt
>
+
>>
хоёр
баруун тийш шилжүүлэх
expr >> shiftAmt
>
+
<
хоёр
бага
expr1 < expr2
>
+
<=
хоёр
бага буюу тэнцүү
expr1 <= expr2
>
+
>
хоёр
их
expr1 > expr2
>
+
>=
хоёр
их буюу тэнцүү
expr1 >= expr2
>
+
==
хоёр
тэнцүү [c]
expr1 == expr2
>
+
!=
хоёр
тэнцүү биш
expr1 != expr2
>
+
&
хоёр
бит AND
expr1 & expr2
>
+
^
хоёр
бит XOR
expr1 ^ e2
>
+
|
хоёр
бит OR
expr1 | expr2
>
+
&&
хоёр
логик AND
expr1 && expr2
>
+
||
хоёр
логик OR
expr1 || expr2
>
+
=
хоёр
утга оноох
expr1 = expr2
<
+
*=
хоёр
үржүүлж утга оноох
expr1 *= expr2
<
+
/=
хоёр
хувааж утга оноох
expr1 /= expr2
<
+
%=
хоёр
хуваалтын үлдэгдлээр утга оноох
expr1 %= expr2
<
+
+=
хоёр
нэмж утга оноох
expr1 += expr2
<
+
-=
хоёр
хасаж утга оноох
expr1 -= expr2
<
+
<<=
хоёр
зүүн шилжүүлж утга оноох
expr1 <<= expr2
<
+
>>=
хоёр
баруун шилжүүлж утга оноох
expr1 >>= expr2
<
+
&=
хоёр
AND үйлдлээр утга оноох
expr1 &= expr2
<
+
|=
хоёр
ОR үйлдлээр утга оноох
expr1 |= expr2
<
+
^=
хоёр
ХOR үйлдлээр утга оноох
expr1 ^= expr2
<
+
? :
гурав
нөхцөлт илэрхийлэл
bool ? expr : expr
>
-
throw
нэг
Throw exception
throw expr
<
-
,
хоёр
дэс дараалан гүйцэтгэх
expr , expr
>
+
[a] Функц дуудах операторын операндын тоо хэмжээ дурын байж болно.
[b] Төрөл хувиргах оператор нь хэрэглэгчийн тодорхойлсон төрлийг хувиргахдаа байгуулагч эсвэл хувиргалтын операторуудыг ашиглаж болно.
[c] Энэ операторыг float эсвэл double төрлийн операндуудад хэрэглэж болохгүй.

No comments: