- 博客(42)
- 收藏
- 关注
原创 【C++】网络编程之Socket初体验-超详细!
准备:这里我只用了一台Ubuntu虚拟机,Xshell(开两个窗口,一个服务器,一个客户端),VSCode(比较喜欢用VSCode连虚拟机写代码,直接Vim也行)。套接字(Socket)是网络编程中一个非常基本的概念,它是网络通信过程中端点的抽象表示,允许程序之间的数据交换。(仅对服务器):服务器使用accept()函数接受客户端的连接请求,创建一个新的套接字用于与客户端通信。:使用send()和recv()(或read()和write())函数在客户端和服务器之间传输数据。
2024-09-06 12:43:16 1847 1
原创 C++常见内存错误及其对策
规则1:使用malloc或new申请内存后,立即检查指针是否为NULL。规则2:不要忘记为数组和动态内存赋初值。规则3:避免数组或指针的下标越界。规则4:动态内存的申请与释放必须配对。规则5:使用free或delete释放内存后,立即将指针设置为NULL。
2024-08-27 11:20:28 1358
原创 C++内存管理:重载new和delete操作符详解
通过重载new和delete,我们可以更灵活地控制C++中的内存分配。这在嵌入式系统或资源受限的环境中尤其重要。然而,这也要求我们更加小心地管理内存,避免内存泄漏和其他问题。
2024-08-26 10:06:44 1373
原创 C++内存:堆、栈、自由存储区、全局/静态存储区和常量存储区的概念及其区别。
C++中的内存被划分为五个区域:堆、栈、自由存储区、全局/静态存储区和常量存储区。每个区域都有其特定的用途和管理方式。
2024-08-26 09:45:12 1018
原创 C语言小项目源码大全(60套)
c语言Turbo C下写的俄罗方块.exe。c语言配有图片和音乐的打字母游戏.exe。c语言实现如果cmd中的ping.exe。c语言黑白棋ai游戏源码.exe .c语言实现的超级玛丽游戏源码.exe。c语言贪吃蛇游戏的双人对战版.exe。c语言奔跑的火柴人游戏源码.exe。c语言模拟快打旋风游戏源码.exe。c语言实现的汉诺塔演示程序.exe。c语言学生成绩管理系统源码.exe。c语言做的-一个任务管理器.exe。c语言火车票订票管理源码.exe。c语言力学相关的流体源码.exe。
2024-08-25 16:45:41 3980 1
原创 C++资料电子书资源PDF免费分享
C程序设计语言(第二版)(Brian W.Kernighan&Denis Richie).pdf 5.4MB。《C程序设计(第四版)学习辅导》.谭浩强.扫描版.pdf 13.1MB。《数据结构(C语言版)》(严蔚敏 吴伟明编著).pdf 7.6MB。《C程序设计题解与上机指导》(第二版).谭浩强.pdf 7.0MB。《C++程序设计》第一版(谭浩强).pdf 11.8MB。C程序设计(第四版 谭浩强).pdf 18.7MB。C程序设计试题汇编.pdf 6.3MB。【超级会员】C++电子书。
2024-08-22 11:56:59 1419
原创 贪心算法-分数背包问题
贪心算法是一种在每一步选择中都采取在当前状态下最好或最优的选择,从而希望导致结果是全局最好或最优的算法策略。它在有最优子结构的问题中尤为有效。贪心算法在解决分数背包问题时展示了其高效性。通过合理地排序和贪心选择,我们可以得到一个接近或达到最优解的方案。
2024-08-22 10:57:20 1596
原创 【C++】01背包问题暴力,记忆,动态规划解法
状态[i, c]:考虑前i个物品,在容量为c的背包中能获得的最大价值。0-1背包问题是算法学习中的一个重要问题,通过不同的方法实现,我们可以更好地理解递归、记忆化搜索和动态规划的概念和应用。
2024-08-21 10:22:00 1129
原创 【C++】经典爬楼梯问题的不同解法-C++学习资料
通过上述几种方法的介绍,我们可以看到算法设计中的递归思想、记忆化优化以及动态规划的策略。这些方法不仅适用于爬楼梯问题,同样可以应用于其他类似问题的解决。
2024-08-20 12:15:26 883
原创 大一必备,JAVAweb学生宿舍管理系统源码,数据库+视频教程+课程设计报告
在这里插入图片描述](https://img-blog.csdnimg.cn/85e13788c7854c81855a78c9f24533f2.png。
2024-08-19 22:30:12 305
原创 82个即插即用的缝合模块,卷积,频域,特征融合,下采样,注意力,mamba。资源
百度网盘:82个即插即用的缝合模块点个赞收藏,拒绝🙅🏻♂️白嫖党
2024-08-19 18:30:35 345
原创 【git port问题,尝试网上改端口的方法不行的看看这个】ssh: connect to host github.com port 22: Connection refused
OK,我来回这样折腾了半天,突然想着在windows上试一下,居然也不行?然后我就怀疑网络的问题了。于是打开了我的热点,连上了热点,然后。所以如果尝试换端口号和换代理http,https都不行的,试试是不是你的网的问题!于是我又试了一下gitee:不出意外,同样不行。,原来是校园网的问题!今天在linux下使用。
2024-08-01 13:42:54 294
原创 URL到页面显示的过程
当在浏览器中输入一个URL并按下回车键时,会发生一系列复杂的步骤,最终将网页内容显示在你的屏幕上。浏览器将渲染树绘制到屏幕上。执行JavaScript。
2024-07-28 19:50:19 503
原创 static为什么能控制变量和函数的可见性?
关键字通过改变变量或函数的链接属性为内部链接,从而限制了它们只能在定义它们的编译单元中访问。这意味着它们只在定义它们的编译单元(通常是源文件)中可见,编译器不允许其他编译单元访问它们。在C++中,匿名命名空间提供了一个文件作用域的命名空间,其中定义的所有名称都具有内部链接。:在函数内部定义的静态局部变量具有静态存储期,它们在程序的整个运行期间都存在,但它们的作用域仅限于定义它们的函数内部。即使在类外定义,它们也只具有内部链接,只能在定义它们的编译单元中访问。,它就不再是全局的了,而是局部于该编译单元。
2024-07-28 19:32:28 600
原创 为什么有了MAC还需要IP?
IP地址和MAC地址在网络通信中扮演着不同的角色,它们各自有独特的功能和用途。:在局域网内,设备通过MAC地址进行通信,而路由器使用IP地址来决定如何将数据包发送到不同的网络。:IP地址可以是动态分配的(如通过DHCP),而MAC地址是静态的,由制造商分配,不会改变。:MAC地址和IP地址分别对应于OSI模型的不同层次,它们共同工作以支持复杂的网络通信。:设备可以在不同的网络中移动,而保持相同的IP地址,但MAC地址始终保持不变。:MAC地址用于局域网内部,而IP地址用于跨越不同网络,包括互联网。
2024-07-25 22:00:04 3255 2
原创 大顶堆C++实现
大顶堆是一种特殊的完全二叉树,其中每个父节点的值都大于其子节点的值。这种数据结构在优先队列、堆排序等算法中有着广泛的应用。本文将通过C++代码示例来展示大顶堆的实现(
2024-07-24 18:11:35 479
原创 7种常见排序算法的C++实现及其复杂度与稳定性
在排序过程中,相等的元素在最终排序完成后可能会改变它们原始的相对顺序。换句话说,如果两个元素在原始数组中是相邻的,并且它们的值相同,但在排序后的数组中它们的相对顺序发生了变化,那么这个排序算法就是不稳定的。举个例子来说明不稳定排序算法:假设我们有一个数组[5, 3, 4,5, 5]并且我们使用快速排序算法对其进行排序。在快速排序的过程中,我们选择第一个元素 5 作为基准。然后我们对数组进行分区,使得所有小于 5 的元素都在 5 的左边,所有大于 5 的元素都在 5 的右边。
2024-07-24 12:40:43 692
原创 new/delete和malloc/free的区别
使用new和delete时,C++ 会自动管理对象的生命周期,包括构造和析构。使用malloc和free时,需要手动管理内存的初始化和释放,它们不涉及构造和析构。对于数组,使用new[]和delete[]可以确保每个元素都被正确构造和析构。
2024-07-23 22:40:28 725
原创 TCP/IP八连问
TCP/IP协议栈包含哪些层次?: 什么是NAT(网络地址转换)?: SSL/TLS协议是如何在网络通信中保证数据安全的?: 在TCP/IP协议中,常见的网络安全威胁有哪些?: 什么是IP地址?: 常见的应用层协议有哪些?: 什么是QoS(服务质量)?: traceroute命令是如何工作的?: TCP是如何保证数据传输的可靠性的?: 请解释TCP/IP协议是什么?: 什么是DDoS攻击?: 请解释IP协议的作用是什么?: 如何理解IP地址的子网划分?: TCP和UDP有什么区别?
2024-07-22 21:42:59 1145
原创 在多态类型转换中,dynamic_cast和static_cast的区别
在C++中,和都是用于类型转换的关键字,但它们在多态类型转换中的作用和使用场景有所不同。fill:#333;color:#333;color:#333;fill:none;类型转换动态类型转换静态类型转换多态类型转换运行时检查需要基类虚函数转换失败返回nullptr或异常基本类型转换指针类型转换向上转型编译时检查不需要基类虚函数转换失败无保护。
2024-07-21 21:37:53 1025
原创 孤儿进程和僵尸进程产生原因及处理方法
孤儿进程是指其父进程已经终止,但子进程仍在运行的进程。在Unix系统中,孤儿进程会被init进程(进程号为1)接管,init进程会等待这些孤儿进程终止。僵尸进程是指已经终止但仍然保留在进程表中的进程。这种进程的进程描述符仍然存在于系统中,占用系统资源,但它们实际上已经不再运行。
2024-07-19 21:31:36 922
原创 C++实现LRU缓存(新手入门详解)
LRU(Least Recently Used,最近最少使用)是一种常用的缓存淘汰策略,主要目的是在缓存空间有限的情况下,优先淘汰那些最长时间没有被访问的数据项。并添加了一些整数元素。然后,我们遍历并打印链表中的元素,删除头部和尾部的元素,并再次打印链表中的元素。方法用于插入或更新缓存中的键值对,如果缓存已满,则淘汰最不常用的键(链表尾部的键)。:随着数据访问模式的变化,LRU策略可以动态调整缓存中的数据项,以适应访问模式的变化。:每次数据项被访问时,都会更新其访问记录,使得最近访问的数据项保留在缓存中。
2024-07-18 14:40:29 1037
原创 C++入门小项目:通讯录管理系统(附完整代码)
在现代生活中,管理个人联系人变得越来越重要。本文将介绍一个使用C++编写的通讯录管理系统,该系统能够实现联系人的添加、显示、删除、查找、修改和清空等功能。本文介绍了一个C++通讯录管理系统的设计与实现。系统功能齐全,操作简便,能够满足用户的基本需求。
2024-07-18 10:04:18 1274
原创 什么是死锁?产生死锁的原因?产生死锁的必要条件?解决死锁的基本方法?怎么预防死锁?怎么避免死锁?怎么解除死锁?
死锁是指在多任务系统中,两个或多个进程在执行过程中因争夺资源而造成的一种僵局。当每个进程都持有一定的资源并等待其他进程释放它们所需的资源时,如果这些资源都被其他进程占有且不释放,那么所有进程都将无法继续执行。
2024-07-17 17:05:23 887
原创 进程与线程的区别以及通信方式
进程和线程的区别定义资源拥有创建开销通信方式上下文切换独立性操作系统支持应用场景进程: 应用程序运行实例线程: 程序执行的最小单位进程: 独立内存空间线程: 共享内存资源进程: 大线程: 小进程: IPC机制线程: 共享内存进程: 大线程: 小进程: 高线程: 低进程: 独立地址空间线程: CPU时间片进程: 大资源消耗线程: 高并发定义:资源拥有:创建开销:通信方式:上下文切换:独立性:操作系统支持:应用场景:理解进程和线程的区别对于编写高效、稳定的应用程序非常重要。在多任务操作系统中,进程和线程的
2024-07-16 18:09:43 797
原创 初步了解C++中的size_t
在 C++ 标准中,size_t被定义为一个无符号整数类型,但它的具体实现细节留给了编译器。size_t的设计目的是能够表示程序中可能使用的最大对象大小。在 GCC 和 Clang 中,size_t#else#endif这里的_WIN32是一个预定义宏,用于标识 Windows 平台。在 Windows 平台上,size_t被定义为。而在其他平台上,它被定义为或。size_t是 C++ 中用于尺寸和索引计算的一个基本无符号整数类型。
2024-07-16 15:13:14 397
60套PPT模板中国风
2024-08-26
105套PPT模板商务风
2024-08-26
40套流体渐变风PPT模板
2024-08-26
31套科技风PPT模版
2024-08-23
102套动画PPT模板
2024-08-23
即插即用卷积模块CondConv
2024-08-23
即插即用卷积模块FasterNet
2024-08-23
即插即用卷积模块ACNet
2024-08-23
卷积即插即用模块AKConv
2024-08-23
javaweb学生宿舍管理系统+源码+数据库文件+课程设计报告+运行截图
2024-08-23
yolov8 opencv模型部署(C++版)
2024-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人