首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

有点不明白.哪位高手能给小弟我解释一下

2013-06-25 
有点不明白...谁能给我解释一下!我上头总是要我用指针传递参数,,,所以我想问一下,这个函数指针传递参数,到

有点不明白...谁能给我解释一下!
我上头总是要我用指针传递参数,,,所以我想问一下,这个函数指针传递参数,到底是怎么个一会事,,,在我的理解中,指针传参就是用函数或方法传递参数,,,可能我的理解有偏差或者是错的...所以我想请教各位大哥,能不能给我讲解一下,详细点越好,然后呢,带点例子最好了,谢谢!
[解决办法]
就是传递一个指针,例如
var
  obj : TObject;//obj是个指针
......
procedure proc(p : Pointer);//这里形参p作为一个整数(obj的地址)入栈,如果p不是传递指针的话,那么下边的obj对象会在局部完全复制,开销较大(这只是个例子,实际上d中所有的对象都是指针,除了显示复制外,不存在对象复制的情况)
proc(obj);

指针传递参数在绝大多数情况下应该是开销最小的,函数局部只是复制一个整形变量,在传递大型对象时效率很高。指针是值传递,速度肯定比不上引用传递,但差别基本可以忽略。
[解决办法]
指针传参
两个好处吧,具体再百度看看
1,节省内存空间,如你本来要传一个结构体,里面有很多数据,但传指针就只占4字节
2,就是指针做形参,在函数内可以修改指针指向的内容
[解决办法]
http://bbs.csdn.net/topics/390216582

热点排行