自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (2)
  • 收藏
  • 关注

原创 C/C++进阶知识点(C++11新特性)

虚函数与虚表、智能指针、lambda表达式、移动语义等。C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好的管理堆内存。

2022-10-03 12:08:46 703 8

原创 C++继承关系下的构造与析构

如果基类中没有定义带参数的构造函数,派生类的构造函数可以不加基类名和参数表;如果基类中没有定义默认构造函数或带有缺省值的构造函数而只有带参数的构造函数时,派生类的构造函数中必须显式的给出基类名和参数表,否则编译器将报错

2022-09-25 19:37:59 277 1

原创 opencv的基础用法及其在QT中的应用

opencv计算机视觉库 + QT桌面应用开发

2022-09-21 21:55:36 2949 7

原创 C/C++知识点总结

引用和指针的区别引用是一个变量的别名,指针是一个变量,存的另一个变量的地址。引用不能为空引用,指针可以是空指针。引用赋值之后不可以改变指向,指针可以改变。引用不能单独存在,指针可以。引用必须进行初始化,指针可以随时初始化。51.函数参数传递中值传递、地址传递、引用传递有什么区别?值传递,形参的改变不影响实参,实参只是将值传递过去,实际上实参的地址与形参的地址还是两块地址,所以改变其中一个,不会影响另一个。地址传递,形参的改变会影响实参,形参中存的是实参的

2022-09-21 21:42:44 823 2

原创 电子词典C语言实现详解(基于linux系统构建服务器、客户端、sqlite3数据库)

纯C语言!!!需要的基础知识:套接字TCP通信(服务器与客户端),多线程进程,sqlite3数据库,标准IO;如果上面掌握的不太好也没有关系,咱们有操作是不是,细节拉满,也能学会!咱们做小项目不是为了实现它的功能而拼凑代码,而是为了从中体会编程的逻辑,举一反三,多处应用。

2022-08-21 21:30:47 2756 12

原创 线程(thread)及线程间同步(互斥锁、信号量、条件信号)

线程是进程的一个实体,是CPU调度和分派的基本单位。它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属于一个进程的其他的线程共享进程拥有的全部资源。...

2022-08-16 18:17:11 2037 5

原创 Socket套接字通信 TCP UDP详解(网络通信)

所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口。Socket(套接字)可以看成是两个网络应用程序进行通信时,各自通信连接中的端点,这是一个逻辑上的概念。......

2022-08-15 12:41:07 3237 5

原创 IO多路复用select函数详解

在Linux中,我们可以使用select函数实现I/O端口的复用,传递给select函数的参数会告诉内核1. 我们所关心的文件描述符2. 对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常)3. 我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待)...

2022-08-15 08:25:16 668 1

转载 Linux IO模式(阻塞/非阻塞)及 select详解

blocking和non-blocking的区别调用blocking IO会一直block住对应的进程直到操作完成,而non-blocking IO在kernel还准备数据的情况下会立刻返回。synchronous IO和asynchronous IO的区别在说明synchronous IO和asynchronous IO的区别之前,需要先给出两者的定义。两者的区别就在于synchronous IO做”IO operation”的时候会将process阻塞。...

2022-08-13 15:06:20 819 1

原创 进程间通信(IPC)——共享内存、消息队列、信号量

拒绝水文,硬核干货,你想要的都在这里!共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝。为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间。进程就可以直接读写这一内存区而不需要进行数据的拷贝,从而大大提高的效率。由于多个进程共享一段内存,因此也需要依靠某种同步机制,如互斥锁和信号量等。...

2022-08-12 23:24:27 1143 4

原创 C语言数据结构顺序表、链表、栈、队列、二叉树详解

超详细!数据结构研究的是数据以及数据之间的关系和运算,计算机的操作对象就是数据,数据结构是计算机存储,管理数据的方式。在数据结构中数据元素又称为结点。

2022-07-31 11:21:44 1613 3

原创 笔记:fgets函数详解

它的功能是从stream流中读取size个字符存储到字符指针变量s所指向的内存空间。它的返回值是一个指针,指向字符串中第一个字符的地址。其中s代表要保存到的内存空间的首地址,可以是字符数组名,也可以是指向字符数组的字符指针变量名。size代表的是读取字符串的长度。stream表示从何种流中读取,可以是标准输入流stdin,也可以是文件流,即从某个文件中读取。...

2022-07-29 20:27:23 626 1

原创 数据结构之线性表——链表 C语言版

手撕链表!链表,是一种将一个个携带着数据的结点链接起来的数据结构,这些结点在物理存储上可以是非连续的,结点的基本结构由数据域和指针域组成,各个结点的链接正是通过对指针域的操作实现的。......

2022-07-25 21:15:33 1211

原创 C语言扫雷最新 递归展开 超详解(附源码)

什么!写C语言扫雷游戏?只需要100行代码、只需要C语言基础?没错!对新手超级友好、超详细的教程来了,带有递归展开功能

2022-07-23 16:33:27 1177

原创 俄罗斯方块Tetris(C基础,Linux终端)

学完了C语言基础后想写个经典游戏俄罗斯方块Tetris练练手吗?今天它来啦!代码量少,逻辑清晰,简单易懂,山顶洞人表示一眼就能学会! (结尾附完整代码)

2022-07-16 16:14:31 3020 9

电子词典小项目:词典文本文件,源代码文件,sqlite3安装包

电子词典小项目:词典文本文件,源代码文件,sqlite3安装包

2022-08-21

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

TA关注的人

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