運算子包括:其中 @ not ^ 是一元運算子; + - 有時是一元,有時是二元; 其他都是二元運算子.@ not ^ * / div mod and shl shr as + - or xor = > < <> <= >= in is
一元運算子在運算數的前面, ^ 例外,也可以在後面,如: p^; 二元運算子在運算數中間.
運算子的行為隨運算數的型別而變,譬如: not , 面對整數是對位求反; 面對布林是邏輯非運算.
除了 ^ is in,其它運算可應用在variant(變體型別)上.
算術運算子:
+ - * / div mod
布林運算子:
not and or xor
位運算子:
not and or xor shl shr
x shl y = x * 2^y
s shr y = x / 2^y
如果x是乙個integer, 那麼 x shl 40 = x shl 8, 因為integer的大小是32位.
字串運算子:
+指標運算子:
+ - ^ = <>
+ - 一般只對字元指標; 無型別指標(pointer)在 ^ 前必須進行型別轉換.
集合運算子:
+ - * <= >= = <> in
+(並集)
-(差集)
*(交集)
<=(子集)
>=(超集)
關係運算子:
= <> < > <= >=
兩個運算數必須型別一直(整數和實數除外);
對字元和字串,是比較每個字元在字符集中的順序;
其中 = <> <= >= 可用於集合;
= <> 可用於指標和類與型別;
< > <= >= 可用於pchar.
類運算子:
as in
as也用於介面;
關係運算子 = <> 也用於型別.
@運算子:
@@返回變數/函式/過程或方法的位址,就是指向運算數的指標;
(編譯器預設)時,@x返回通用指標; @x返回x的型別指標;
@f(f代表乙個過程或方法),返回f的入口點,@f總是pointer;
要獲取類的方法的指標,必須用類名來限定方法: @tmycalss.method
運算子優先順序:
@ not
* / div mod and shl shr as
+ - or xor
= <> < > <= >= in is
另外:
is比較符是用在物件之間; 其他型別之間的比較用 = .
inc/dec 分別類似其他語言中的++/--, 如:
inc(i); dec(i); inc(i,3); dec(i,3);
關於運算子
運算子 根據運算元的個數將運算子分為 一元運算子 二元運算子 三元運算子 根據功能可以分為如下 1 算術運算子 自增運算子 自增1 自減運算子 自減1 自增 自減運算子不參與賦值時,前置和後置一樣 賦值時 後置運算子 先賦值,後運算 前置運算子 先運算,後賦值 注意 當 運算子兩邊有乙個運算元為字串...
關於運算子
運算子包括 not div mod and shl shr as or xor in is 其中 not 是一元運算子 有時是一元,有時是二元 其他都是二元運算子.一元運算子在運算數的前面,例外,也可以在後面,如 p 二元運算子在運算數中間.運算子的行為隨運算數的型別而變,譬如 not 面對整數是對...
關於 和 運算子
在c c 論團上總是隔一段時間就會出現問 自增 自減 運算子的,這裡做個解釋 i 使用i的值之前,先使i的值加1 i 使用i的值之前,先使i的值減1 i 使用i的值之後,使i的的值加1 i 使用i的值之後,使i的的值減1 自增運算子和自減運算子的特殊地方也就在這 既可以做字首運算子,也可以做字尾運算...