LazzyDoog 2017-09-02 09:03 采纳率: 0%
浏览 806

以非引用形式返回对象的析构问题

 template<typename NODETYPE>
/*List<NODETYPE>&*/
void concatenate(List<NODETYPE> &list1, List<NODETYPE> &list2)
{
    NODETYPE value;

    while (!list2.isEmpty())
    {
        if (list2.removeFromFront(value))
            list1.insertAtBack(value);
    }

    //return list1;
}

代码如上,函数作用是把链表2内容附到链表1后面

当我以非引用形式返回main函数里的对象list1时,当concatenate函数调用结束之后list1会被析构。可是 list1在main函数里的话,不是应该等到程序执行结束才会析构么。

  • 写回答

3条回答 默认 最新

  • threenewbee 2017-09-02 11:33
    关注

    局部变量放在堆栈上的话,在函数外析构。

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿