C++面经总结

C++面经总结

基本语言一

1.static关键字的作用

全局静态变量
局部静态变量
静态函数
类的静态成员
类的静态函数
具体
1.修改作用域,由external改为internal
2.修改标识符的存储类型,由自动变量改为静态变量。
3.只能在定义它的源文件中使用,不能在其他源文件使用。
4.对于被static修饰的类成员变量和成员函数。他们是属于类的,而不是属于某个对象的。

2.说一说c++中四种cast转换

1.const_cast:用于将const变量转为非const
2.static_cast:相当于传统的C语言里的强制转换,该运算符把expression转换为new_type类型,用来强迫隐式转换。用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。基本数据类型之间的转换。
dynamic_cast:主要用于类层次间的上行转换和下行转换(把派生类的指针或引用转换成基类表示,称之为上行转换。反之),还可以用于类之间的交叉转换。
reinterpret_cast:它可以把一个指针转换成一个整数,也可以把一个整数转换成一个指针。

3.请说一下C/C++ 中指针和引用的区别?

1.指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。
2.引用不可以为空,当被创建的时候,必须初始化,而指针可以是空值,可以在任何时候被初始化。
3.可以有const指针,但是没有const引用;
4.指针可以有多级,但是引用只能是一级
5.指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变了。
6.sizeof引用”得到的是所指向的变量(对象)的大小,而”sizeof指针”得到的是指针本身的大小;
7.sizeof引用”得到的是所指向的变量(对象)的大小
8.如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄漏(指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果);

4.说一下C++中的智能指针

答案:C++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr
智能指针的作用:管理一个指针
因为存在:申请的空间在函数结束时忘记释放。造成内存泄露
作用原理:智能指针作为一个类,当出现情况时,自动调用析构函数,析构函数会自动释放内存空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值