自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 C++面试技术点整理(一)

1. 谈谈你对命名空间的理解1.namespace 是一个关键字:随着工程量的增加,变量命名上不可避免出现重名,防止名称冲突 (在不同的命名空间中,即使 2 个变量名相同,也是 2 个不同的变量),在实际工作中,基本都 使用标准命名空间2.命名空间只能 全局范围内 定义,不能定义在函数内部3.命名空间内, 可以存放 变量、函数、结构体、类;也可以嵌套其他的命名空间 命名空间可以 匿名(一般不这样使用),类似静态全局变量4.命名空间是可以 起别名 的。2.谈谈指针和引用的区别1.

2022-02-21 19:21:44 724

转载 什么是三次握手、四次挥手

什么是三次握手在网络数据传输中,传输层协议TCP(传输控制协议)是建立连接的可靠传输,TCP建立连接的过程,我们称为三次握手。第一次,客户端向服务器发送SYN同步报文段,请求建立连接第二次,服务器确认收到客户端的连接请求,并向客户端发送SYN同步报文,表示要向客户端建立连接第三次,客户端收到服务器端的确认请求后,处于建立连接状态,向服务器发送确认报文客户端是在收到确认请求后,先建立连接服务器是在收到最后客户端的确认后,建立连接发起连接请求的一定是客户端...

2022-02-21 08:59:00 390

转载 C++中new/delete与malloc/free区别

new与malloc的10点区别1. 申请的内存所在位置new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。而堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。那么自由存储区是否能够是堆(问题等价于new是否能在堆上动态分配内存),这

2022-02-20 22:08:37 144

转载 分别写出BOOL,int,float,指针类型的变量a 与“零”的比较语句

零值比较–BOOL,int,float,指针变量与零值比较的if语句这是程序员面试的一道常见题,也是个C++基础问题。若只在大学里看过几本基础的编程入门书,看见这道题可能会觉得奇怪,不就是和0比较吗,直接拿出来比就是了,其实非也。下文引自google搜索结果,出处不详,高手可以无视,菜菜留下,记得做好笔记。首先给个提示:题目中要求的是零值比较,而非与0进行比较,在C++里“零值”的范围可就大了,可以是0, 0.0 , FALSE或者“空指针”。int型变量 n 与“零值”比较的 if 语句就是:..

2022-02-19 10:13:15 1063

原创 操作系统面试题

进程线程解决死锁的基本方法? 预防死锁--确保系统永远不会进入死锁状态避免死锁—在使用前进行判断,只允许不会产生死锁的进程申请资源检测死锁—允许死锁发生,但是经过检测后将其清除解除死锁kmalloc、vmalloc、malloc的区别? 答:kmalloc和vmalloc是用来分配内核空间的内存;malloc用来分配用户空间的内存 vmalloc比kmalloc要慢 kmalloc分配的内存在物理地址上是连续的(虚拟地址自然也是连续的);vmalloc只确保分配的内存

2022-02-07 20:29:38 567

原创 C/C++二分查找算法

C/C++实现二分查找

2022-02-07 20:23:43 1368

原创 C/C++实现冒泡排序算法

C/C++冒泡排序

2022-02-07 16:51:53 259

原创 C/C++快速排序算法

C/C++实现快速排序算法

2022-02-07 16:47:24 593

原创 C/C++链表排序-单链表(冒泡排序法)

#include <iostream>using namespace std;struct node{ int data; struct node* next;};void inser_node(struct node *head,int data){ struct node *new_node = new struct node; new_node->data = data; new_node->next = N...

2021-12-20 19:23:50 441

原创 C/C++ 链表翻转(单链表)

本人设计的链表翻转(单链表),含增删查改全部代码,接口基本复制过去就能用了如果发现错误欢迎指正!翻转具体代码在本文最后一个函数中#include <iostream>using namespace std;struct node{ int data; struct node* next;};void inser_node(struct node *head,int data){ struct node *new_node = new str.

2021-12-18 17:25:13 1556

原创 为什么连接的时候是三次握手,关闭的时候确实四次挥手?

① 因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。 ②但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。 ③只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。...

2021-12-18 17:16:58 194

原创 TCP的三次握手一定能保证传输的可靠吗

答:三次握手比两次更可靠,但也不是完全可靠,而追加更多次握手也不能使连接更可靠了。因此选择了三次握手。 世界上不存在完全可靠的通信协议。从通信时间成本空间成本以及可靠度来讲,选择了“三次握手”作为点对点通信的一般规则。...

2021-12-18 17:13:44 902

原创 TCP与UDP的优缺点及区别

TCP与UDP的优缺点及区别TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。TCP的缺点:慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、...

2021-12-18 17:12:24 523

原创 C++学习笔记(四)(构造函数、析构函数)

c++关键字:class, new, delete, template, operator, public, private, protected类与对象在语言角度理解 类就是数据类型, 对象就是变量定义类class 类名{成员(变量-属性, 函数-行为-方法)};例子:class Student{int age;char sex;void say();void study();void sleep();void playgame();};.

2021-10-25 22:31:36 74

原创 C++笔记(三)(类)

类与对象对象:对应要研究的事或物 ----具体 ---变量/常量类:具有相同特性或者行为的事或物对象抽象为类, --抽象---数据类型定义:class 类名{成员(成员数据, 成员函数)(成员属性, 成员方法)};例子:class Student{ int age; char name[32]; void say(); void sleep();};c++对比类与结构体 结构体 类...

2021-10-25 22:20:05 140

原创 C++学习笔记(二)(引用,函数重载)

引用引用就是一个变量或者是常量的别名数据类型 &引用名称 = 引用对象 (引用类型必须与引用对象一致)例子:#include<iostream>using namespace std;int main(void){ int a=10; int &ra = a; //ra就是a的引用 cout<<&a<<" "<<a<<endl;...

2021-10-20 17:47:32 327

原创 C++学习笔记(一)

第一个c++程序c++文件后缀 通常有以下几种.cpp, .h , .cc , .cxx, .hpp例子:#include <iostream>#include <cstdio>int main(int argc, char **argv){ std::cout<<"hello world"<<std::endl; return 0;}编译:g++ -o mai...

2021-10-20 17:19:44 134

原创 有效解决Ubuntu18.04无法联网问题

网络配置虚拟机的网络适配器的模式有两种:桥接模式:使得虚拟机拥有跟物理机一样的IP地址NAT模式:使得虚拟机直接共享物理机的IP,自己本身没有独立的IP地址这两种模式选择在以上两种模式都可以联网,区别就是虚拟机要不要一个独立的IP。如果你的物理机有2个或以上网卡,桥接时注意选择恰当的物理网卡。配置文件:sudo vi /etc/network/interfacesinterfaces文件可以设置计算机的IP地址、子网掩码、默认网关,也可以选择固定IP和动态IP两种模式:模式..

2021-10-10 10:27:15 3396

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除