返回类型 字符指针 字符指针,整数 指针的基础类型 布尔 布尔
例子 P + I P - Q P^ P = Q P <> Q
^ pointer dereference 指针
^ 运算符dereference一个指针(取得指针所指的内容,如何翻译呢?),除了通用指针Pointer以外,它的运算数可以是任何指针类型,对于Pointer类型,在dereference之前必须进行类型转换。
只有P和Q指向相同的地址,P = Q才是真(True),否则P <> Q为真。
你能使用 + 和 ? 运算符来增加和减少一个字符指针的偏移量,也能使用 ? 运算符来比较两个字符指针偏移量的差。它遵循以下规则
?
若I是一个整数,P是一个字符指针,那么P + I是把P的地址加上I,也就是一个指向P后面第I个字符处的指针(表达式I + P等同于P + I);P ? I是把P的地址减去I,也就是一个指向P前面第I个字符处的指针。
若P和Q都是字符指针,那么P ? Q计算P的地址(高地址)和Q地址(低地址)之差,也就是返回一个表示P和Q之间字符数目的整数。P + Q没有意义。
?
Set operators(集合运算符)
下面的运算符以集合作为运算数: 运算符 + ?
- 24 -
运算 并集 差集
运算数类型 集合 集合
返回类型 集合 集合
例子
Set1 + Set2 S - T
Syntactic elements
* <= >= = <> in
交集
小于等于(子集) 大于等于(超集) 等于 不等于 成员关系
集合 集合 集合 集合 集合 序数,集合
集合 布尔 布尔 布尔 布尔 布尔
S * T Q <= MySet S1 >= S2 S2 = MySet MySet <> S1 A in Set1
以下规则适用于 +、? 和 * 运算符: ?
当且仅当序数(集合基础类型中的一个值)O属于集合X或集合Y(或同时属于X和Y)时,O属于X + Y;当且仅当O属于X但不属于Y时,O属于X ? Y;当且仅当O同时属于X和Y时,O属于X * Y。
+、? 和 * 的运算结果属于集合类型set of A..B,这里A是结果中的最小序数,B是结果中的最大序数。
?
以下规则适用于 <=、>=、=、<> 和 in 运算符: ?
只有当X(集合)中的每个成员也是Y(集合)中的成员时,X <= Y才为真;Z >= W等同于W <= Z;只有当U(集合)和V(集合)正好拥有相同的成员时,U = V才为真,否则U <> V为真;
对于序数O和集合S,只有当O是S的一个成员时,O in S才为真。
?
Relational operators(关系运算符)
关系运算符用来比较两个运算数。=、<>、<= 和 >= 也用作集合运算符(参考集合运算符),= 和 <> 也用作指针运算符(参考)。
运算符 = <> < > <= >=
运算 等于 不等于 小于 大于 小于等于 大于等于
运算数类型
, class, class reference,
intece, string, packed string , class, class reference, intece, string, packed string , string, packed string, PChar , string, packed string, PChar , string, packed string, PChar , string, packed string, PChar
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-15.html
一切有教养的民族
美国佬请注意了