不太理解inc()函数的具体意义?(1分)

  • 主题发起人 主题发起人 bo60503
  • 开始时间 开始时间
B

bo60503

Unregistered / Unconfirmed
GUEST, unregistred user!
看了超级猛料里的函数说明,也是云山雾罩,请哪位高人,详细讲述一下!
代码哪下,看的不太懂。这是书中的一个例子,哪位可以解释一下?
var
MyDB:array[1..10] of TDatabase;
MyDBCount:integer;
Begin
MyDBCount:=1;
MYDB[myDBCount]:=DyDBCreate('MYDB'+IntToStr(MyDBCount),'');
Inc(MyDBCount);
end;
 
Inc 相當 MyDBCount:=MyDBCount+1
 
Inc(MyDBCount)的作用跟下面这个语句是等价的:MyDBCount := MyDBCount + 1;
Inc(MyDBCount,3)的作用跟下面这个语句是等价的:MyDBCount := MyDBCount + 3;
 
不要再犹豫,应该立马给Tiger_Dxj加分啦!!
 
Inc(MyDBCount)的作用跟下面这个语句是等价的:MyDBCount := MyDBCount + 1;
Inc(MyDBCount,3)的作用跟下面这个语句是等价的:MyDBCount := MyDBCount + 3;

意义上是等价的,但好像不是等效的,
inc 的效率应该比 后者 更高一些, 但是后者更容易阅读.
各有千秋,呵呵

 
过程原型:procedure Inc(var X [
N: Longint ] );
Inc(X)相当于:X := X + 1;
Inc(X, N)相当于:X := X + N;
例如:
var
IntVar: Integer;
LongintVar: Longint;
begin
Inc(IntVar)
{相当于 IntVar := IntVar + 1 }
Inc(LongintVar, 5); { 当于LongintVar := LongintVar + 5 }
end;
最后说明:inc(x)比x:=x+1;的效率要高些!
 
Inc(MyDBCount);
就是加上1
 
INC主要是对序数类型进行操作的,了解这一点,对你很有帮助!!
 
这么多热情的大富翁向你解答,赶紧另开帖散分吧
 
自增函数 !

他的相反操作就是 自减函数
 
感谢大家的热情帮助,真的是无以为谢!只可惜小弟我用一小菜鸟,分数奇少,一不小心,分数就会成0,则无数发问!
非常高兴和大家在一起学习DELPHI!
 
inc函数实现的是自增..
功能上与x=x+1一样,但内部是有些许不同的..
首先.INC更快,因为它没有多余的取址存址运算,
其次,INC可不做什么它所作用的有序数做什么溢出检查
 
INC大概取材于汇编的inc语句吧:)
inc的效率肯定要比X:=X+N高的多,而且,还可以对地址指针进行运算!例如
var
P:PByte;
...
inc(P,2);
...
 
inc是增一运算,有一个需要注意的,就是他不是简单的加1,而是根据操作对象而定的
比如 pi:Pinteger;inc(Pi,1);就是移动4字节,但是对于integer来说,是移动了'1'。。
 
据说在打开了编译器优化选项的情况下,x := x + 1
会被优化成跟 Inc(x) 一样的汇编程序。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
后退
顶部