【C++岗位求职面试八股文第一篇】

本文是C++岗位求职面试的八股文系列第一篇,涵盖了C++语言特点、C语言特点、嵌入式开发中C语言的优势、面向对象特性、面向过程与面向对象的区别、智能指针、野指针处理、数组和指针概念、字符串处理函数等内容,旨在帮助求职者准备C++面试。
摘要由CSDN通过智能技术生成

C++岗位求职面试八股文系列文章

第一篇:语言基础
第二篇:设计模式
第三篇:数据库
第四篇:计算机网络
第五篇:操作系统
第六篇:LInux
第七篇:数据结构
第八篇:智力题


第二篇:语言基础(1))

[1]简述下C++语言的特点

C++在C语言基础上引入了面对对象的机制,同时也兼容C语言。
C++有三大特性(1)封装。(2)继承。(3)多态;
C++语言编写出的程序结构清晰、易于扩充,程序可读性好。
C++生成的代码质量高,运行效率高,仅比汇编语言慢10%~20%;
C++更加安全,增加了const常量、引用、四类cast转换(static_cast、dynamic_cast、const_cast、reinterpret_cast)、智能指针、try—catch等等;
C++可复用性高,C++引入了模板的概念,后面在此基础上,实现了方便开发的标准模板库STL(Standard Template Library)。
同时,C++是不断在发展的语言。C++后续版本更是发展了不少新特性,如C++11中引入了nullptr、auto变量、Lambda匿名函数、右值引用、智能指针。

[2]简述下C语言的特点

C语言有出色的可移植性 ,能在多种不同体系结构的软/硬平台上运行
简洁紧凑,使用灵活的语法机制 ,并能直接访问硬件。
C语言具有很高的运行效率,直接操作底层寄存器,

[3]为什么嵌入式用C多

能够直接访问硬件的语言有汇编和C语言,汇编属于低级语言,难以完成一些复杂的功能,但是汇编比C语言访问硬件的效率更高。所以,一般将硬件初始化的工作交给汇编,比较复杂的操作交给C语言。

[4]面向对象的特征并简述
包括四大基本特征和五大基本原则。
特征:抽象、继承、多态、封装
原则:单一职责原则、开放封闭原则、替换原则、依赖原则、接口分离原则

[4]面向对象的特征并简述

包括四大基本特征和五大基本原则。
特征:抽象、继承、多态、封装
原则:单一职责原则、开放封闭原则、替换原则、依赖原则、接口分离原则

[5]面向过程与面向对象

面向过程的语言:
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;
缺点:没有面向对象易维护、易复用、易扩展
面向对象的语言:
优点:易维护、易复用、易扩展,
缺点:性能比面向过程低

[6]智能指针

智能指针的作用是,能够处理内存泄露问题和悬空指针问题(未释放内存、释放内存但指针没置空)
https://blog.csdn.net/sjp11/article/details/123899141
智能指针的实现:
在这里插入图片描述
成员变量:ptr指针对象,ptrcount引用计数,mt互斥锁
成员函数:构造,析构,赋值=,解引用*,拷贝,->

[7]野指针:悬空指针:空指针

野指针是没有被初始化过的指针,指向的位置是不可知的(随机的、不正确的、没有明确限制的)。此时去解引用就是去访问了一个不确定的地址,所以结果是不可知的。
成因:指针变量未初始化、指针释放后之后未置空、指针操作超越变量作用域
解决:初始化时置 NULL、释放时置 NULL

悬空指针:指针最初指向的内存

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT与Fintech

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值