求助:vc++中的(i++)和(++i)在delphi中分别如何表示啊?
解决方案 »
- 怎样在Intraweb上下载文件??????我改怎么办啊?????????急死我了
- 请问在excel中图表的几个设置方法?
- 建立一棵树的好方法
- 给steveli放分。steveli进!500分之1。
- 如何实现左侧是Ttreeview,右侧是显示区域?
- 关于报表的问题
- Delphi专区的各位高手,在解决各自难题的同时,可否拉小弟一把,好让我也加入Delphi大家庭!
- 如何编写代码或使用控件,使得在DELPHI端实现自动建立SQL的数据库和一系列一系列的连接配置(配置ODBC什么的)
- 请问多线程中TEvent的创建方法?
- 菜鸟问题:在VFP中,如何将图片存储到表中
- 诚聘delphi高级软件工程师2人
- 如何在delphi中写等待5分钟的代码
或者Inc(i)
i++相当于
function Increment(var Value: Integer): Integer;
begin
Result := Value;
Value := Value + 1;
end;++i相当于
function Increment(var Value: Integer): Integer;
begin
Value := Value + 1;
Result := Value;
end;
//Value++
function Get_And_Increment(var Value: Integer): Integer;inline;
begin
Result := Value;
Value := Value + 1;
end;//++Value
function Increment_And_Get(var Value: Integer): Integer;inline;
begin
Value := Value + 1;
Result := Value;
end;
InterlockedIncrement (Uses Windows;)原型:
function InterlockedIncrement(var I: Integer): Integer;inline;
asm
MOV EDX,1
XCHG EAX,EDX
LOCK XADD [EDX],EAX
INC EAX
end;
++i,相当于InterlockedIncrement(i);
i++,相当于InterlockedExchangeAdd(i,1);
inc(i);
U[i];i++:
U[i];
inc(i);先用后‘+’和先‘+’后用,不必计较,只是个初值选择的问题
既然value : integer在子函数的声明中出现,那么应该是子程序范围内可见的变量,似乎应该每次调用时Value的值都是传过来的,而value := value + 1;似乎只对value这个子程序范围内的变量可操作,至于传过来的变量不应该一同被改变啊? 可是如此进行测试发现,传入的一个变量,在处理完后真的被改变了,难道是按照参数地址传递的么?