1.说说c语言和c++的区别
(1)c++面向对象,c面向编程
(2)c++头文件包含c
(3)c++有命名空间std,c没有
(4)c++申请和释放堆区内存用的是new和delete,c用的是malloc和free
(5)c++能重载,c不能;因为c++编译器识别函数名+参数,c的编译器只识别函数名,会被认为是重定义
(6)c++有bool类型,c没有
(7)c++使用类和结构体,c只有结构体
(8)c++支持继承,多态
2.说说c++中的struct和class的区别
(1)struct默认公有,class默认私有
(2)struct继承默认共有,class继承默认私有
3.include头文件的顺序以及双引号“”和尖括号<>的区别和查找路径
(1)“”是自定义文件,<>是系统文件
(2)“”查找路径为:当前头文件目录->编译器设置的头文件路径–>系统变量
<>查找路径为:编译器设置的头文件路径->系统变量
4.引用--什么是左值引用?什么是右值引用
(1)左值:有地址有数据;右值:没地址只有数据,表达式结束后就不存在的临时对象
(2)左值引用可以用来接收函数返回值,右值引用不能
5.指针和引用的区别
(1)引用必须初始化且不能为空;
(2)引用不占内存,与原数据指向同一块空间;指针是一个存储地址的变量,需要被分配内存;
(3)引用的本质是指针常量,引用的指向不可以改变,指针可以;所以引用比指针安全
(4)访问变量时引用时直接访问,指针是间接访问
赠送一道嘻嘻,欢迎补充
6.c++编译时和c有什么不同
(1)c++编译器识别函数名+参数,c编译器只识别函数名