我上头总是要我用指针传递参数,,,所以我想问一下,这个函数指针传递参数,到底是怎么个一会事,,,在我的理解中,指针传参就是用函数或方法传递参数,,,可能我的理解有偏差或者是错的...所以我想请教各位大哥,能不能给我讲解一下,详细点越好,然后呢,带点例子最好了,谢谢!

解决方案 »

  1.   

    就是传递一个指针,例如
    var
      obj : TObject;//obj是个指针
    ......
    procedure proc(p : Pointer);//这里形参p作为一个整数(obj的地址)入栈,如果p不是传递指针的话,那么下边的obj对象会在局部完全复制,开销较大(这只是个例子,实际上d中所有的对象都是指针,除了显示复制外,不存在对象复制的情况)
    proc(obj);指针传递参数在绝大多数情况下应该是开销最小的,函数局部只是复制一个整形变量,在传递大型对象时效率很高。指针是值传递,速度肯定比不上引用传递,但差别基本可以忽略。
      

  2.   

    http://bbs.csdn.net/topics/390216582