文章
7
粉丝
83
获赞
30
访问
155.5k
1. 堆和栈的区别:①堆空间是动态分配的,一般存放对象;栈空间是由系统分配的,一般存放局部变量。②堆空间比较大,栈空间比较小。③堆需要手动释放内存,而栈不需要。
2. 左值和右值:左值指的是既能出现在等号左边又能出现在等号右边的变量,右值指的是只能出现在等号右边的变量,左值可以直接赋值但右值不行,不过有些时候右值的值也是可以更改的,比如自己定义的类中,可以通过成员函数来修改右值。
3. 内存泄露:用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元就叫做内存泄露。
4. 内存溢出:内存溢出是指用户实际的数据长度超过了申请的内存空间大小,导致覆盖了其他数据。
5. C和C++的区别:C++是C的超集,C是一个结构化语言,它的重点在于算法和数据结构,是面向过程设计语言;而C++是面向对象设计语言,它首要考虑的是如何构造一个对象模型,让这个模型能够和问题对应。
6. C++和Java的区别:①与C++相比,Java没有指针的概念,这就防止了指针可以引起的系统问题,从而使程序变得更安全。②C++语言中需要程序员手动申请和释放内存,而Java语言提供了垃圾回收器来实现垃圾的主动回收,不需要程序员显示的管理内存。③C++可以进行运算符重载而Java不可以。④Java具有平台无关性,即对每一种数据类型都会分配固定的长度,而C++同一个数据类型在不同的操作系统上可能会占用不同的空间。
7. Const的用途:用const定义的变量叫做常变量,它的值是不允许改变的,也不能给它重新赋值,这就意味着必须在定义时就给它赋初值。
8. Static的用途:①static修饰局部变量时只执行一次初始化,而且延长了局部变量的生命周期,直到程序运行结束后才释放。②static修饰全局变量时,这个全局变量只能在本文件中访问,不能在其他文件中访问。③static修饰一个函数时,这个函数只能在本文件中调用,不能被其他文件调用。
9. 指针和引用的区别:①指针是一个实体,存放的是某块内存的地址,而引用是某块内存的别名。②指针可以改变指向而引用不能。③指针可以为空而引用不能为空。
10. 指针传递和引用传递的区别:二者都可以更改实参的值,区别在于使用引用传递时,由于直接引用的是实参的地址,并不在被调用函数中开辟新的存放指...
登录后发布评论
暂无评论,来抢沙发