Wednesday, December 17, 2014

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

Операторуудыг хэрэглэгдэх байдлаар нь ангилан ялгавал:

утга оноох операторууд =, +=, *=, …
арифметик операторууд
+, -, *, %
жиших операторууд
<, <=, >, >=, ==, !=
логик операторууд
&&, ||, !
бит операторууд
&, |, ^, ~, <<, >>
санах ойн удирдлагын операторууд
new, delete, sizeof
заагч болон хандалтын операторууд
*, &, ., ->, [], ()
үйлчлэх хүрээний оператор
::
бусад операторууд
conditional(?:), comma(,)

С++ стандартад тодорхой түлхүүр үгнүүдийг (keyword) зарим операторын орлуулгын нэрээр (alias) оноож өгсөн байдаг.

19.1. Хүснэгт, операторын орлуулгын нэрс

Оператор
Орлуулах нэр
&& and
& bitand
&= and_eq
|| or
| bitor
|= or_eq
^ xor
^= xor_eq
! not
!= not_eq
~ compl

Ихэнх (гэхдээ бүгд биш) дотоод төрлүүдийн (built-in type) хувьд операторуудыг урьдчилан тодорхойлсон байдаг.

Операторын шинж чанар (operator characteristics)

Операторууд дараах онцгой шинж чанарыг агуулна:
  • эрэмбэ (precedence)
  • нийцэл (associativity)
  • шаардагдах операндын тоо (number of required operands)

19.2. хүснэгтэд С++ хэлний бүх операторуудыг эрэмбээр нь жагсаан (өндөр эрэмбийн операторууд жагсаалтын дээд хэсэгт), хэрэглээний дагуу бүлэглэн харуулав.
  • Операнд багана тухайн операторт шаардлагатай операндын тоог харуулна.
  • Тайлбар багана тухайн операторын дотоод төрөлд зориулсан тодорхойлолтыг агуулна.
  • Нийцэл багана хэрэв ижил оператор нэгэн зэрэг олон тоогоор хэрэглэгдвэл хоорондоо хэрхэн нийцэхийг үзүүлнэ. Үүнд:
    • >“ тэмдэглэгээ зүүнээс баруун гэсэн нийцлийг илтгэнэ. Жишээ нь:
      d = a + b + c; // эхэлж a + b үйлдлийг, дараа нь (a + b) + c үйлдлийг гүйцэтгэнэ.
    • <“ тэмдэглэгээ баруунаас зүүн гэсэн нийцлийг илтгэнэ. Жишээ нь:
      c = b = a; // а эхэлж b-д, дараа нь с-д оноогдоно.
  • Хэт ачаалал (XA) багана тухайн операторыг хэрэглэгчийн төрөлд дахин шинээр тодорхойлох боломжтой эсэхийг харуулна.
    • +” тэмдэглэгээ нь операторыг глобал, эсвэл гишүүн функц хэлбэрээр хэтрүүлэн ачааллах боломжтойг илтгэнэ.
    • Г” тэмдэглэгээ нь операторыг зөвхөн гишүүн функц хэлбэрээр хэтрүүлэн ачааллах боломжтойг илтгэнэ.
    • -“ тэмдэглэгээ нь операторыг хэтрүүлэх ачааллах боломжгүйг илтгэнэ.

No comments: