请问:我想把一个指针传递给一个函数,在函数里修改该指针所指的数据,请问是否要在参数表里加 保留字 var  比如func(var ptr: PType)?还有,我建了一个链,最后想释放它,该怎么做?是不是用dispose()。distpose是用在一个节点上的,还是可以用在整条链上,就是说,如果我想释放整条链,是不是要做循环,一个节点一个节点地dispose啊?

解决方案 »

  1.   

    1、如果是“在函数里修改该指针所指的数据”而不需要修改指针本身的指向,则直接声明:
    func(ptr: PType)即可。如果还需要修改指针本身的指向,则应该加var。
    2、应该释放每个节点。如果节点都是用new建立,则使用dispose。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    如果参数本身就是指针,则不需要使用Var了,那样做很危险的!使用循环释放单独的每个结点
    Dispose和New要配对使用
      

  3.   

    var表示参数按引用传递,简单的说,就是行参和实参可以看作同一个变量,并不存在什么危险的问题,也不是没必要。按引用传递和指针传递是两码事,它们有相似之处,但并不完全相同。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————