参考答案和解析
正确答案:否或不存在内存泄漏
否,或不存在内存泄漏 解析:已知程序的输出全部为1,根据主程序中Stock b;这一语句可以判断出:类Stock有默认的构造函数,且该构造函数将初始化类中的一些成员变量。所以(1)处应该填写的内容为Stock的构造函数,因为该构造函数的函数体内没有语句,所以只能采用初始化列表的方式对成员变量进行初始化。成员函数output输出成员变量的值,因此(2)处应该填写标准的输出cout。
由于类至少需要一个共有的构造函数,因此,第4行的protected应该更改为public:,而析构函数不能有返回类型,因此第9行应该去掉void。
main函数中对类的使用没有通过new操作符生成stock类的对象,因此不存在内存泄露,并且main函数中三种对象的生成方式是等价的。
更多“指出该代码是否存在内存泄漏。 ”相关问题
  • 第1题:

    下面哪些属于静态分析( )

    A.代码规则检查

    B.程序结构分析

    C.程序复杂度分析

    D.内存泄漏


    正确答案:ABC

  • 第2题:

    如果某程序运行需要1200MB的内存空间,而物理内存空间只有1GB。是否这个程序一定无法运行?如果可以运行,需要采用什么技术(指出该技术名称即可)?


    错误

  • 第3题:

    格式化字符串在泄露内存攻击时仅能泄漏栈内存。


    错误

  • 第4题:

    ()代码块可以有效地防止内存泄漏

    A.catch

    B.finally

    C.finally和catch

    D.try


    finally

  • 第5题:

    7、下面关于内存泄漏问题的描述错误的是()

    A.只要程序中使用的malloc和free的数量是配对的,那么就不会出现内存泄漏问题。#B.内存泄漏属于非法内存访问错误,就是代码访问了不该访问的内存。#C.指针变量所占的内存被释放了,也就意味着它所指向的动态内存也会被自动释放。#D.出现内存泄露并不是一定会导致系统发生异常,因为实际中内存耗尽的情况非常罕见,内存泄露问题的严重程度取决于每次函数调用时遗留内存垃圾的多少和函数被调用的次数。#E.内存泄漏问题通常需要运行相当一段时间后才能发现。#F.C语言没有提供内存垃圾回收机制,因此需要程序调用free函数来释放不再需要的动态内存。#G.需长期稳定运行的服务程序,以及需要频繁对内存操作且消耗空间较大的程序,通常对内存泄漏比较敏感。
    只要程序中使用的malloc和free的数量是配对的,那么就不会出现内存泄漏问题。;内存泄漏属于非法内存访问错误,就是代码访问了不该访问的内存。;指针变量所占的内存被释放了,也就意味着它所指向的动态内存也会被自动释放。