2021年面试常问的C++知识点
38页1、目录C+2概念理论2C+特性2多态2构造与析构函数3类型转换3内存管理3基本点4static的用法和作用?4指针和引用4Fork函数4Extern “c”5RTTI5C/C+语言怎么函数调用5回调函数5方法调用原理5STL5STL5map、set是怎么实现的,红黑树是怎么能够同时实现这两种容器? 为什么使用红黑树?5STL中的allocator, deallocator6STL迭代器删除元素6vector与list的区别与应用?6迭代器的作用:6STL中resize和reserve的区别6编译与底层6C+源文件从文本到可执行文件经历的过程6Include和“”6类和数据抽象7面向对象与泛型编程7C+11有哪些新特性?7可变参数模板7右值引用7Lambda表达式:8操作系统8基本知识8进程和线程8进程描述符及任务结构8进程有哪几种状态?8多路复用IO:主要实现:select/poll/epoll11线程同步的方式有哪些?11进程的通信方式有哪些?11什么是缓冲区溢出?有什么危害?其原因是什么?11什么是死锁?死锁产生的条件?11分页和分段有什么区别?11进程同步有哪几种机制?11死锁的处
2、理基本策略和常用方法?11Linux11计算机网络11网络7层、4层、5层模型(体系结构)11IP头部12TCP头部12UDP头部12数据库15基础知识151.事务15算法与数据结构18设计模式18项目相关18C+概念理论java与c+异同1. c+比java快(1) c+编译器直接将源码编译成机器可以执行的二进制代码,java编译器将源码解析成字节码,字节码被JVM加载然后编译成可执行二进制代码;java可以在不同的机器上执行,但是损失了效率。(2) 对象的创建:java中一切皆对象,通过new实现,对象保存在堆中,栈中保存了对象的引用,因此在获得对象的时候是间接寻址,因此比较慢。C+中有一些局部变量和对象的创建是直接存在栈中的,可以直接访问,比较快。(3) 检查机制:Java虚拟机本身在执行时会对程序进行很多检查,检查数组越界,检查类型错误,检查空指针,检查对象是否回收,保证了程序的安全性和稳定性,但是也浪费了检查的时间。C+需要程序员自己检查。2. 指针Java找不到指针直接访问内存,并且添加了自动的内存管理功能,防止了c+中指针操作的失误3. 多重继承4. 数据类型及类:jav
3、a中所有函数和对象必须是类的一部分,c+允许将函数和对象定义在类外,5. 自动管理内存:java的自动内存回收6. 操作符重载:c+支持操作符重载7. 预处理功能:8. C+支持缺省函数参数9. C+有goto语句10. C+自动强制类型转换指针的作用:(1)引用大的数据结构(2)动态分配内存(3)复杂数据结构C和C+1. 面向过程和面向对象自顶向下(步骤划分):面向过程就是分析解决问题的步骤,按照步骤一步步实现;高度实物抽象化(功能划分):面向对象就是将问题分解成多个对象,描述实物在整个解决问题的步骤中的行为。优缺点:面向过程:优点:性能高,因为类调用需要实例化,开销较大,比较耗费资源,在比如单片机、嵌入式开发、Linux/unix一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象易维护、易复用、易扩展。面向对象:优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态的特性,可以设计出低耦合的系统,使系统更加灵活、易维护。缺点:性能比面向过程低。C+由四个部分组成:c语言部分,面向对象部分,泛型编程部分,STL库2. 具体语言关键字不同:struct, malloc,
4、 struct继承方式后缀名不同:.c和.cpp输入输出:printf, cout返回值:默认int,必须指定参数列表:缺省参数:函数默认值:C语言不支持函数默认值,C+支持函数默认值,且遵循从右向左赋初值;函数重载:C语言中函数符号产生是根据名称产生的,不存在重载的概念,C+生成函数符号则考虑了函数名、参数个数、参数类型。Inline内联函数:C89没有,C+在调用点直接展开,不生成符号,没有栈帧的开辟回退问题,仅在release版本下生效,写在头文件中。Const:c的const叫只读变量,只是无法作为左值,c+的const是真正的常量作用域:c中只有局部,全局,c+中有局部、类、名字空间作用域。Malloc/free, new/delete: 库函数、关键字(运算符);需要指定大小,类型转换,不需要指定;不调用构造析构函数,调用。类型转换:指针和引用:C+特性C是面向过程的,C+是面向对象的封装继承多态,类型转换,支持范式编程,函数模板等封装:把方法和数据包装起来,隐藏具体的实现细节,外部通过接口访问。继承:依据一个类定义另一个类,提高重用性。多态:一个接口,多种实现,同一事物多
《2021年面试常问的C++知识点》由会员孙盼分享,可在线阅读,更多相关《2021年面试常问的C++知识点》请在金锄头文库上搜索。
2021年国企面试数据库必备知识点包含索引、范式、事务、封锁、引擎等
PCA_实验报告(含代码、实验流程图结果分析等)
2021年面试常问的计算机网络知识点期末考试
2021年面试常问的40个数据库小知识点
SVM支持向量机实验报告(含代码、实验流程图结果分析等)
2021年面试常问的C++知识点
2021年国企面试大数据必备知识点包含spark、RDD、数据倾斜、spark调优等
人工智能社交软件调查问卷_2
2021年面试常问的JAVA基础知识点包含容器、多线程、垃圾回收机制、反射JVM等
人工智能社交软件调查问卷_1
2021年面试JAVA必备知识点《JAVA面试宝典》笔记
2021年面试常问的死锁、三次握手、四次挥手
面试JAVA必备知识点《JAVA面试宝典》笔记
面试常问的JAVA基础知识点包含容器、多线程、垃圾回收机制、反射JVM等
2023-08-28 7页
2023-08-21 28页
2022-11-11 10页
2022-07-29 74页
2021-12-30 6页
2021-12-30 9页
2021-12-30 6页
2021-12-30 7页
2021-12-30 9页
2021-12-30 7页