现在的位置: 首页 > 综合 > 正文

利用指针参数申请内存(推荐)

2013年08月02日 ⁄ 综合 ⁄ 共 500字 ⁄ 字号 评论关闭

直接利用指针做为参数,得到申请的内存是不可以的,

因为此时的指针被处理成值传的指针,像基本数据类型一样,是值传,

想要利用指针申请内存,需要用指针的指针或者指针的引用,就像基本数据类型的引用一样

这里推荐使用指针的引用

因为指针的指针使用比较复杂,如果函数内除了申请内存,还有其他功能,引用就显得非常方便,

而指向指针的指针则很难使用

 

例子如下:

template <class Type> bool AVLTree<Type>::Insert(AVLNode<Type> *&tree,Type x,int &taller)
    {

         bool success = false;
         if(tree == NULL)
         {
          tree = new AVLNode<Type>(x);     
          success = tree != NULL ? 1 : 0;  
          if(success)taller = 1;
         }

         else if(x < tree->data)
         {

... ...

这是一个AVL Tree插入数据的例子,

如果根为空,申请内存,如果根不空,其他操作... ...

抱歉!评论已关闭.