本人初学者自己对C++的总结

本人对于找工作期间复习c++


对于本文的资料,都是自己总结以及网上收集,存在不严谨的地方请指出。。。。。。。谢谢!

1、为什么数组不可以引用?
答:因为引用是不会分配地址空间的,就是给变量取别名,但是定义数组是要分配空间的,所以C++规定不能对数组进行引用。

2、深拷贝与浅拷贝的区别?
答:深拷贝就如B复制A,B发生改变,A不会发生改变。
浅拷贝就如B复制A,B发生改变,A也会发生改变。
浅拷贝只是对指针的拷贝,拷贝后两个指针指向同一个内存空间。
深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝,经深拷贝后的指针是指向两个不同地址的指针。

3、重载与重写?
重载:就是函数名相同,函数参数列表不同。
重写:子类继承父类,对父类函数重新定义。

4、const char *p:指针的指向可以改变,但是指针的内容不可以改变
char * const p:指针的指向不可以改变,但是指针的内容可以改变
const char * const *p;指针的指向与内容都不可以改变
总结:const在
的后面,表示指针的指向可以改变,const在
的前面,表示指针指向的内容可以改变。
5、进程间的通信方式?
答:管道(有名管道和无名管道)、信号、信号量、socket、消息队列和共享内存

6、封装、继承和多态的理解?
封装:就是将抽象得到的数据和行为相结合,形成类
继承:就是新类从旧类哪里得到已有的属性和方法,同时也可根据自己需求增加新的属性和行为。
多态:一个接口,多种方法。如同一接口,可以实现不同的方法。

7、如何设置字节对齐?
#pragma pack(push,2) //相当于 #pragma pack(push) #pragma pack(2) //设置2字节对齐
struct A{

};
#pragma pack(pop)

8、并发、并行、同步、异步的区别?
并发:同一段时间内,处理多个程序。
并行:同一时刻具有处理两个及两个以上的事件。
同步:处理某个操作时,只有将操作执行完后,才会去执行下一步操作。
异步:异步程序在调用后,在没有的到结果之前,调用者就可以执行下一步操作。

9、常变量以及常函数?
常变量:就是恒定的值,不可以发生改变。如:const int a = 3.
常函数:就是在函数的头加上const。

10、析构函数可以是虚函数么?
答:如果这个类有子类,则析构函数就必须是虚函数,因为在析构子类指针类型的时候,可能不会调用析构函数。

11、c++是不是类型安全?
答:不是。因为不同类型存在强制转换。

12、引用和指针的区别?
答:引用必须初始化、不能为空,且引用赋值后不能修改。
但是指针指向一个对象后,对其操作也是间接对变量的操作,而引用只是对象的别名。

#特别声明:若发现在哪里有重复的资料,这是很正常,因为我也是初学者,有些地方也是借鉴加上总结,所以不要见怪。发表这篇文章,主要是方便自己后面复习查看的。。。。。

谢谢!!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值