C/C++八股文系列
文章平均质量分 91
准备C/C++相关岗位的面试,个人整理的八股文。有意见或者建议可以在评论区提出,谢谢各位大佬!
灰烬之灵2023
努力学习C++的菜鸡一枚!
展开
-
C/C++八股文C/C++篇(6)
构造函数中可以调用虚函数,但是在构造函数中调用虚函数时,由于虚函数机制的特性,只会调用当前类的虚函数,而不会调用派生类的虚函数,因为派生类的对象还没有完全构造好。这样在类外部无法直接创建对象,只能通过调用类中的静态方法来创建对象并返回指向堆内存的指针,从而限制对象只能在堆中产生。它接受的参数与元素构造函数的参数相匹配,从而可以直接使用这些参数在容器内存中就地构造对象,减少了一次或多次构造和析构的过程。虚函数:如果类中有虚函数,对象需要存储一个指向虚函数表(vtable)的指针,通常这是一个指针的大小。原创 2024-04-30 17:15:05 · 794 阅读 · 0 评论 -
C/C++八股文C/C++篇(5)
当派生类中有自己的资源需要释放时,通过定义虚析构函数可以确保在派生类对象被销毁时,先调用派生类的析构函数,再调用基类的析构函数,从而保证资源的正确释放顺序。在类中的成员变量或成员函数前加上static关键字,可以使其成为类的静态成员,静态成员变量在类的所有实例中共享,静态成员函数可以直接通过类名调用,实现了多个对象之间的数据共享,保证安全性。在全局变量前加上static关键字,c变成全局静态变量,存储在静态存储区,默认初始化为0,且可以使变量的作用域仅限于当前文件,避免与其他文件中的同名变量发生冲突。原创 2024-04-26 23:41:29 · 709 阅读 · 1 评论 -
C/C++八股文C/C++篇(4)
拷贝构造函数和赋值运算符重载函数来实现。浅拷贝(Shallow Copy):浅拷贝是指在拷贝对象时,只是简单地复制对象的所有成员变量的值,包括指针变量的值,而不会复制指针所指向的内存。这样会导致原对象和拷贝对象共享同一块内存,当其中一个对象修改了内存中的数据,另一个对象也会受到影响。浅拷贝只需要使用默认的拷贝构造函数和赋值运算符重载函数即可实现。需要注意的是,浅拷贝在某些情况下可能会导致问题,如两个对象可能会尝试释放同一块内存,造成“双重释放”错误。原创 2024-04-24 14:39:49 · 961 阅读 · 0 评论 -
C/C++八股文C/C++篇(3)
一般在类定义开始的地方集中声明友元函数,在函数前加friend关键字即可。也可以声明友元类。每个类负责控制自己的友元函数和友元类,友元关系不具有传递性,class A 与class B是友元类,class B 与class C是友元类,class A 与class C不一定是友元类。public:// 声明友元函数A a(10);display(a);// 友元函数可以访问类的私有成员return 0;原创 2024-04-24 11:45:22 · 906 阅读 · 0 评论 -
C/C++八股文操作系统篇(2)
用户态(User mode)和核心态(Kernel mode)是操作系统中用于区分不同权限级别的两种模式。它们主要用于划分操作系统功能与应用程序之间的权限,保护系统的稳定性和安全性。用户态(User mode):在用户态下,运行的是普通的应用程序代码。这些程序不能直接执行访问硬件、管理内存等敏感操作,它们只能通过操作系统提供的接口(API)来请求这些服务。用户态提供的是一个限制环境,确保用户程序不能直接影响系统的核心部分,从而避免了程序错误或恶意软件破坏系统的稳定性和安全性。原创 2024-04-24 21:30:52 · 653 阅读 · 0 评论 -
C/C++八股文C/C++篇(2)
const的用法一共有3种://表示常量a,a的值不可修改//表示常量引用a,a代表的内容是不可修改的//表示常量指针(p所指向的内容不能通过p来修改)//表示指针常量(p不可以指向其他内容)//表示p的指向不能改变,p指向的内容也不能通过p来改变。函数形参带const:函数形参用const修饰让函数内部不可修改这个形参的值,防止无意中对形参的修改。// 函数接受一个常量整数作为参数// 尝试修改x的值会导致编译错误// x = 10;原创 2024-04-24 03:45:33 · 1197 阅读 · 0 评论 -
C/C++八股文操作系统篇(1)
C++八股文系列,主要是做笔记用的,欢迎各位大佬指导一下,谢谢原创 2024-04-23 20:28:21 · 1139 阅读 · 6 评论 -
C/C++八股文C/C++篇(1)
C++八股文系列,主要是做笔记用的,欢迎各位大佬指导一下,谢谢原创 2024-04-22 20:02:53 · 1448 阅读 · 2 评论 -
C/C++八股文计算机网络篇(1)
四次挥手:在终止TCP连接时,一方(假设是客户端)向另一方(服务器端)发送一个FIN(结束)标志的数据包,表示要关闭连接,另一方收到后会回复一个ACK标志的数据包,表示收到了关闭请求。这样就完成了三次握手,建立了连接。HTTP1:HTTP1是线程阻塞的,而且是短连接,浏览器和服务器他只保持短暂的连接,浏览器的每次请求都需要和服务器建立一个TCP连接(TCP连接的新建成本很高,每次都需要进行三次握手,断开有四次挥手),而且在服务器完成请求后断开TCP连接,服务器都不跟踪每个客户,也不记录过去的请求。原创 2024-04-25 17:40:18 · 845 阅读 · 2 评论