老师在课堂上讲到了return语句在执行时会自动调用对象的析构函数。我编写了下述代码测试发现整个程序析构函数调用次数与构造函数不等,这样难道不会产生内存泄漏吗?

源代码如下:

#include <iostream>
using namespace std;

class A {
public:
    A(int i = 1) :x(i){ cout << "constructed." << endl; }
    ~A() { cout << "destructed." << endl; }
    int get_x() { return x; }
private:
    int x;
};

int aqr_it(A a) {
    A b=a;
    return (b.get_x())*(b.get_x());
}

int main() {
    A a;
    cout << a.get_x() << endl;
    cout << aqr_it(a) << endl;
    return 0;
}

程序运行结果:

暂时不知道如何解释该现象。

最新文章

  1. CozyRSS2开发记录0-win10开坑
  2. React Native知识7-TabBarIOS组件
  3. 软件产品案例分析(K米 APP)
  4. [CLK Framework] CLK.Settings - 跨平台的参数存取模块
  5. ViewPage显示Fragment集合实现左右滑动并且出现tab栏--第三方开源--SlidingTabLayout和SlidingTabStrip实现
  6. Android自己主动化測试解决方式
  7. jquery mouseout事件冒泡解决方法
  8. xfire for web-Service
  9. 获取键盘输入或者USB扫描枪数据
  10. poj 3575 Crosses and Crosses(SG函数)
  11. 在线更新问题 HDU5877 线段树
  12. 动态修改JS对象的值及React setState
  13. Python常用的软件包
  14. java中线程安全和非线程安全的集合
  15. R语言之正则表达式
  16. SQL EXISTS
  17. 第22章 软件安装:源码与Tarball
  18. CentOS7 中使用 firewall-cmd 控制端口和端口转发
  19. dumpe2fs: Bad magic number in super-block
  20. myeclipse报错MA

热门文章

  1. PHP使用memcache长连接作为RPC客户端需要注意的地方
  2. bootstrap table 怎么实现前两列固定冻结?
  3. POJ 3461 Oulipo 【KMP统计子串数】
  4. Google TensorFlow 学习笔记一 —— TensorFlow简介
  5. js学习笔记-数字转罗马数字
  6. 【洛谷P2168】[NOI2015]荷马史诗
  7. 【luogu P4137 Rmq Problem / mex】 题解
  8. normal 普通身份 sysdba 系统管理员身份 sysoper 系统操作员身份 dba和sysdba
  9. Entity Framework 四
  10. git使用简介(一)