niusouti.com
更多“类实例的值类型成员,分配内存中的栈空间。”相关问题
  • 第1题:

    两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。()


    正确答案:对

  • 第2题:

    为了增加内存空间的利用率和减小溢出的可能性,由两个栈共享一片连续的内存空间时,应将两个栈的栈底分划设在这片内存空间的两端。如此只有当( )时,才产生上溢。

    A.两个栈的栈顶同时到达栈空间的中心点

    B.两个栈的栈顶在栈空间的某一位置相遇

    C.其中一个栈的栈顶到达栈空间的中心点

    D.两个栈不空,且一个栈的栈顶到达另一个栈的栈底


    正确答案:B
    解析:在一个程序中需要同时使用具有相同成分类型的两个栈时,为避免造成存储空间的浪费,应采用双进栈操作。为两个栈共同开辟一个连续的存储空间,一个栈的栈底为该空间的始端,另一个栈的栈底为该存储空间的末端。当元素进栈时都从此存储空间的两端向中间“延伸”。如此,只有当两个栈的栈顶在该存储空间的某处相遇时,才会发生上溢。

  • 第3题:

    关于类和对象的说法,不正确的是( )。

    A.类是对象的类,对象是类的对象

    B.系统不为类分配内存空间,而为对象分配内存空间

    C.类和对象一样

    D.类可以看作数据类型,对象也可以叫做类的实体、实例等


    正确答案:C
    解析:对象是类的实例化,类和对象不一样。

  • 第4题:

    为了减少溢出的可能性和增加内存空间的利用率,由两个栈共享一片连续的内存空间时,应将两栈的栈底分设在这片内存空间的两端。在这种情况下,会产生溢出情况的是(45)。

    A.两个栈的栈顶在栈空间的某一个位置相遇

    B.两个栈的栈顶同时到达栈空间的中心

    C.一个栈的栈顶到达空间的中心点

    D.两栈均不为空,且一个栈的栈顶到达另一个栈的栈底


    正确答案:A
    解析:本题考查堆栈的溢出问题。栈的溢出是指存储空间用完。题目中说两个栈共享一片连续的内存空间,并将两栈的栈底分设在这片内存空间的两端,往这两个栈中添加元素时,栈顶指针都往内存空间的中间位置移动,如果不停地往两个栈中添加元素,这两个栈的栈顶肯定会在内存空间的某一个位置相遇,这时说明存储空间被用完,如果还继续往栈中添加元素,就已经没有空间存放了,只能产生溢出。

  • 第5题:

    关于静态成员,下列说法正确的是()

    • A、 同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静态成员
    • B、 在类实例化后,同类型的对象都共享类的静态成员,静态成员只有一个版本
    • C、 在类定义时静态成员属于类,在类实例化后静态成员属于对象
    • D、 在类实例化后静态成员已被实例化,因此不同的对象有不同的静态成员

    正确答案:B

  • 第6题:

    类的指针成员为什么要用new另辟内存空间?


    正确答案:为了保证类的封装性,类中的指针成员所指向的内存空间必须在类的定义中自行独立开辟和释放。

  • 第7题:

    new运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会自动调用类中的()为对象()


    正确答案:构造方法;实例化

  • 第8题:

    下列关于类和对象的说法中,正确的是()

    • A、编译器为每个类和类的对象分配内存
    • B、类的对象具有成员函数的副本
    • C、类的成员函数由类来调用
    • D、编译器为每个对象的数据成员分配内存

    正确答案:D

  • 第9题:

    单选题
    关于联合类型,以下说法正确的是()。
    A

    联合类型的内存大小是第1个成员变量的内存大小

    B

    联合类型的内存大小是所有成员变量的内存大小之和

    C

    联合类型的内存大小由内存大小最大的成员变量决定

    D

    联合类型的内存大小由系统自动分配,在赋值前是不确定的


    正确答案: D
    解析: 暂无解析

  • 第10题:

    填空题
    new运算符的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会自动调用类中的()为对象()

    正确答案: 构造方法,实例化
    解析: 暂无解析

  • 第11题:

    判断题
    两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第12题:

    单选题
    下列关于类和对象的说法中,正确的是()
    A

    编译器为每个类和类的对象分配内存

    B

    类的对象具有成员函数的副本

    C

    类的成员函数由类来调用

    D

    编译器为每个对象的数据成员分配内存


    正确答案: C
    解析: 暂无解析

  • 第13题:

    模板对类型的参数化提供了很好的支持,因此( )。

    A.类模板的主要作用是生成抽象类

    B.类模板实例化时,编译器将根据给出的模板实参生成一个类

    C.在类模板中的数据成员都具有同样类型

    D.类模板中的成员函数都没有返回值


    正确答案:B

  • 第14题:

    类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成的是(47)。

    A.类层次结构

    B.实例的个数

    C.多态的种类

    D.每个实例的初始状态


    正确答案:A
    解析:在一个面向对象系统中,子类与父类之间的继承关系构成了这个系统的类层次结构,可以用树(对应于单继承)或者格(对应于多继承)这样的图来描述。当执行一个子类的实例生成方法时,首先在类层次结构中从该子类沿继承路径上溯至它的一个基类,然后自顶向下地执行该子类所有父类的实例生成方法:最后执行该子类实例生成方法的函数体。与一般数据类型的实例化过程相比,类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成的,就是类层次结构。

  • 第15题:

    Windows内存分配归为两个类型,是( )

    A.段分配、块分配

    B.段分配、堆分配

    C.块分配、栈分配

    D.栈分配、堆分配


    正确答案:D
    解析:内存分配分为分栈配和堆分配。栈上分配的内存系统自动释放,堆上分配的内存,系统不释放。栈一般是静态分配内存,堆上一般是动态分配内存。

  • 第16题:

    __________是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。


    正确答案:
    构造函数 【解析】构造函数的主要作用是对数据成员初始化,系统为成员分配内存时,保留这些存储单元的原状。

  • 第17题:

    关于联合类型,以下说法正确的是()。

    • A、联合类型的内存大小是第1个成员变量的内存大小
    • B、联合类型的内存大小是所有成员变量的内存大小之和
    • C、联合类型的内存大小由内存大小最大的成员变量决定
    • D、联合类型的内存大小由系统自动分配,在赋值前是不确定的

    正确答案:C

  • 第18题:

    下列关于栈指针的值说法正确的是()

    • A、将栈指针的值减少适当的值可以分配没有指定初始值的数据的空间,也可以通过增加栈指针来释放空间
    • B、将栈指针的值减少适当的值可以分配没有指定初始值的数据的空间,也可以通过减少栈指针来释放空间
    • C、将栈指针的值增加适当的值可以分配没有指定初始值的数据的空间,也可以通过增加栈指针来释放空间
    • D、将栈指针的值增加适当的值可以分配没有指定初始值的数据的空间,也可以通过减少栈指针来释放空间

    正确答案:A

  • 第19题:

    36、对于一个栈做进栈运算时,应先判断栈是否为(),做出栈运算时,应先判断别栈是否(),当栈中元素为m时,做栈运算时发生上溢,则说明栈的可用最大容量为()。为了增加内存空间的利用率和减少发生上溢的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样只有当()时才发生上溢。


    正确答案:栈满;栈空;m;栈底;两栈和栈顶空间的某一个位置

  • 第20题:

    关于 JAVA 堆,下面说法错误的是()。

    • A、所有类的实例和数组都是在堆上分配内存的
    • B、对象所占的堆内存是由自动内存管理系统回收
    • C、堆内存由存活和死亡的对象组成
    • D、数组是分配在栈中的

    正确答案:D

  • 第21题:

    单选题
    关于静态成员,下列说法正确的是()
    A

     同一个类中的静态成员,类实例化后,在不同的对象中形成不同的静态成员

    B

     在类实例化后,同类型的对象都共享类的静态成员,静态成员只有一个版本

    C

     在类定义时静态成员属于类,在类实例化后静态成员属于对象

    D

     在类实例化后静态成员已被实例化,因此不同的对象有不同的静态成员


    正确答案: B
    解析: 暂无解析

  • 第22题:

    填空题
    在作进栈运算时,应先判别栈是否(),在作退栈运算时应先判别栈是否()。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为()。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的()分别设在这片内存空间的两端,这样,当()时,才产生上溢。

    正确答案: 满,空,n,栈底,两个栈的栈顶在栈空间的某一位置相遇
    解析: 暂无解析

  • 第23题:

    单选题
    下列关于栈指针的值说法正确的是()
    A

    将栈指针的值减少适当的值可以分配没有指定初始值的数据的空间,也可以通过增加栈指针来释放空间

    B

    将栈指针的值减少适当的值可以分配没有指定初始值的数据的空间,也可以通过减少栈指针来释放空间

    C

    将栈指针的值增加适当的值可以分配没有指定初始值的数据的空间,也可以通过增加栈指针来释放空间

    D

    将栈指针的值增加适当的值可以分配没有指定初始值的数据的空间,也可以通过减少栈指针来释放空间


    正确答案: D
    解析: 暂无解析

  • 第24题:

    单选题
    关于 JAVA 堆,下面说法错误的是()。
    A

    所有类的实例和数组都是在堆上分配内存的

    B

    对象所占的堆内存是由自动内存管理系统回收

    C

    堆内存由存活和死亡的对象组成

    D

    数组是分配在栈中的


    正确答案: C
    解析: 1. 对象存储在堆区。2. 数组是一种对象。