自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 指向类成员的指针

C++扩展了指针在类中的使用,使其可以指向类成员(数据成员和函数成员),这种行为是类层面的,而不是对象层面的。指向非静态数据成员的指针在定义时必须和类相关联,在使用时必须和具体的对象关联。由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定类的一个对象,然后,通过对象来引用指针所指向的成员。指向类成员的指针,具有指针的形而不具体指针的实,或者,确切意义上说,不指是指针。指向类成员的指针,本质存放的不是地址,存放的偏移量。

2024-07-31 18:19:40 163

原创 C++ static关键字在类中的扩展

C++扩展了 static 在类中的语意,用于实现在同一个类,多个对象中共享数据,协调行为的目的。静态变量有全局变量的优势,又不会像全变量一样被滥用。而用于管理静态变量,就需要用到静态函数。类的静态成员,属于类,也属于对象,但终归属于类。

2024-07-31 18:19:21 157

原创 C++ const关键字在类中的扩展

C++引入的面向对象的概念之后,C 语言中的一些比如 static/const 等原有语意,作一些升级处理,此时既要保持兼容,还要保持不冲突。

2024-07-30 10:23:37 308

原创 C++赋值运算符重载

用一个己有对象,给另外一个己有对象赋值。两个对象均己创建结束后,发生的赋值行为。

2024-07-30 10:14:09 283

原创 C++ this指针

系统在创建对象时,默认生成的指向当前对象的指针。这样作的目的,就是为了带来使用上的方便。

2024-07-29 08:46:18 515

原创 C++ 拷贝构造器

class 类名类名(const 类名 & another)拷贝构造体。

2024-07-29 08:44:21 177

原创 C++类型强转

新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++提供了四种转化 static_cast,reinterpret_cast,dynamic_cast和 const_cast 以满足不同需求,C++风格的强制转换好处是,它们能更清晰的表明它们要干什么。C 语言转换风格,在 C++中依然适用。

2024-07-28 12:07:13 578

原创 C++ 封装的用法

封装,可以达到,对外提供接口,屏蔽数据,对内开放数据。

2024-07-28 12:06:46 1192

原创 C++ Namespace 命名空间

语法 C++引入 namespace 的本质是对全局空间再次划分。确切的说,是对全局的函数和变量再次进行作用域打包。

2024-07-27 18:36:33 234

原创 C++ String 字符串类

/0xf55e40//hello//初始化字符串//32//32//32//world//next//字符串再次赋值s1=s2;//next//cin输入字符串//字符串会获取输入第一个空格之前的的数据//cin>>s1;//输入的数据//使用getline函数获取输入的所有数据,包括空格//输入的数据。

2024-07-27 18:36:01 497

原创 C语言-TCP通信创建流程

在服务器绑定 ip 地址与端⼝号之后, 则需要让服务器 socket 套接字设置成被动监听状态,并。首先,我们需要创建套接字,套接字是通信的基础。我们可以通过 socket() 函数来创建套接字。在服务器端调用 accept 函数之后, 则可以接收客户端的连接请求, 并创建新的套接字用于数据。在服务器端调用 listen 函数之后, 则可以开始接收客户端的连接请求, 并创建新的套接字。接收数据需要调用 recv() 函数。创建套接字之后,我们需要连接服务器。连接服务器需要调用 connect() 函数。

2024-07-26 19:18:58 414

原创 C++内联函数

C 语言中有宏函数的概念。宏函数的特点是内嵌到调用代码中去,避免了函数调用的开销。但是由于宏函数的处理发生在预处理阶段,缺失了语法检测和有可能带来的语意差错。

2024-07-26 19:12:18 161

原创 C++内存申请和释放

c 语言中提供了 malloc 和 free 两个系统函数,完成对堆内存的申请和释放。而 c++则提供了两关键字 new 和 delete;

2024-07-25 20:01:09 558

原创 从C到C++入门篇(三)引用;引用的本质

变量名,本身是一段内存的引用,即别名(alias)。此处引入的引用,是为己有变量起一个别名。int a= 500;//变量名.实质是一段内存空间的别名(int。

2024-07-25 20:00:42 786

原创 从C到C++入门篇(二)函数重载,运算符重载和默认参数

C++支持函数重载,即同名函数可以根据参数的不同而有不同的实现。

2024-07-24 18:02:46 882

原创 从C到C++入门篇(一)新类型和标准输入输出

C 语言中 const * ->non-const* / void * ->sometype * / type-> type均是可以的,但是在 C++中则编译通不过。

2024-07-24 18:01:57 668

原创 非阻塞IO-多路复用select函数用法及其源代码解读

/ 定义一个结构体来存储文件描述符集合void *bits;// 指向文件描述符集合的指针// 返回值和最大文件描述符数// 文件描述符集合的大小// 文件描述符表//!栈上分配的文件描述符集合,分配数组空间,⽤于存储⽂件描述符// 初始化返回值为无效参数错误if (n < 0) // 如果传入的文件描述符数小于0,则返回错误// 读取RCU锁// 获取当前进程的文件描述符表// 获取最大文件描述符数// 释放RCU锁。

2024-07-23 13:45:42 1099

原创 非阻塞IO-多路复用-epoll的使用

TOCTOC。

2024-07-23 13:44:18 711

原创 Golang-函数调用机制分析(值传递与引用传递)

以上就是值传递与引用传递的分析。注意其中的栈,堆等均为人为的逻辑分区,每个程序在运行过程中也未必会严格按照此进行内存的分配,这里是为了解释方便,后期在做。

2024-07-23 08:38:44 623

原创 以线程完成并发的UDP服务端

10。

2024-07-22 08:57:05 623

原创 以进程完成并发的UDP服务端

10。

2024-07-22 08:55:44 325

原创 C语言-网络编程-UDP通信创建流程

UDP 是⼀个传输层的⽆连接的协议,我们编写代码⼀般是分为两个端。⼀个我们称之为发送端,另⼀个我们称之为接收端。正常⼀般是接收端先运⾏,然后等待结束发送端发送过来的数据。

2024-07-19 08:45:26 573

原创 网络编程-字节序的转换

方法一:inet_aton()方法二:inet_aton()

2024-07-19 08:43:42 257

原创 UDP协议

UDP(User Datagram Protocol) : ⽤户数据报协议,是不可靠的⽆连接的协议。在数据发送前,因为不需要进⾏连接,所以可⽤于进⾏⾼效率的传输。但不保证数据的可靠性。

2024-07-18 08:49:38 276

原创 网络编程-TCP 协议的三次握手和四次挥手做了什么

三次握手(Three-way Handshake) 其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包.进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常,指定自己的初始化序列号为后续的可靠性传输做准备,实际上就是服务器指定连接端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息.三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,并且进行交换TCP的信息。

2024-07-18 08:47:37 1686

原创 网络编程-TCP/IP

网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务网络体系结构即指网络的层次结构和每层所使用协议的集合两类非常重要的体系结构:OSI 七层模型 与TCP/IP 五层模型。

2024-07-17 19:16:08 781

原创 golang中字符串和各种int类型之间的相互转换方式

string转成int:1string转成int64:1int转成string:1int64转成string:1。

2024-07-16 18:25:37 692

原创 Golang time包

时间和日期是我们编程中经常会用到的,本文主要介绍了 Go 语言内置的 time 包的基本用法。time 包提供了一些关于时间显示和测量用的函数。time 包中日历的计算采用的是公历,不考虑润秒。

2024-07-16 18:23:34 985

原创 Linux多进程和多线程(八)多线程

线程是进程中的⼀个执⾏单元,负责当前进程中程序的执⾏,⼀个进程中⾄少有⼀个线程⼀个进程中是可以有多个线程多个线程共享同一个进程的所有资源,每个线程参与操作系统的统一调度可以简单理解成 进程 = 内存资源 + 主线程 + 子线程 +…

2024-07-09 22:40:38 723

原创 C语言文件操作-文件IO(系统调用)

TOCTOC。

2024-07-09 22:38:25 1386

原创 Linux多进程和多线程(七)进程间通信-信号量

多个进程竞争同一资源时,会发生资源竞争。资源竞争会导致进程的执行出现不可预测的结果。

2024-07-06 22:35:15 1503

原创 Linux多进程和多线程(六)进程间通信-共享内存

TOCTOC。

2024-07-06 22:33:41 900

原创 Linux多进程和多线程(五)进程间通信-消息队列

TOCTOC。

2024-07-03 11:56:06 819

原创 Linux多进程和多线程(四)进程间通讯-定时器信号和子进程退出信号

定时器类型:setitimer() 支持三种定时器类型(实际时间、用户态时间、用户态和内核态时间),更灵活。alarm() 只支持实际时间定时器。精度:setitimer() 支持微秒级精度。alarm() 只支持秒级精度。支持多个定时器:setitimer() 可以同时设置和管理多个不同类型的定时器。alarm() 只能设置一个定时器,后续调用会覆盖之前的定时器。

2024-07-03 11:53:54 1047

原创 Linux多进程和多线程(三)进程间通讯-信号处理方式和自定义处理函数

123456678910// 用户自定义信号1112131415161718192021。

2024-06-30 16:05:55 876

原创 Linux多进程和多线程(二)-进程间通信-管道用法

TOCTOC。

2024-06-30 12:52:35 1095

原创 Linux多进程和多线程(一)-进程的概念和创建

进程(Process)是操作系统对一个正在运行的程序的一种抽象。它是系统运行程序的最小单位,是资源分配和调度的基本单位。

2024-06-29 20:16:35 1553

原创 C语言 实现链表的各种功能

文件名:link_list.h}LNode;//初始化链表//链表是否为空//链表长度//链表头部插入元素//链表尾部插入元素//插入链表指定位置//链表删除元素头删//链表删除指定位置元素//删除链表元素尾删//链表中查找指定位置元素//修改链表指定位置元素//清空链表//销毁链表//打印链表链表是一种常见的数据结构,在实际应用中有着广泛的应用。本文介绍了链表的定义、实现、操作、测试等功能。

2024-06-29 17:18:37 472

原创 linux中find命令和exec的强大组合用法

Find 是一个已经非常强大的命令,用于根据许多条件搜索文件。exec 命令使您能够处理 find 命令的结果。我在这里分享的例子只是一瞥。find-exec 命令组合在一起为您提供了在 Linux 命令行中执行操作的无限可能。find 和 exec 命令。

2024-06-28 19:23:33 1094

原创 AUTOSAR的基础软件和功能

管理非易失性存储器的读写操作。实现对EEPROM的抽象,使上层应用无需关心具体存储硬件的细节。管理闪存的读写和擦除操作。提供API用于上层软件对闪存的访问。管理输入输出硬件,包括传感器和执行器等。包含对信号的采集和处理功能。

2024-06-27 18:42:43 319

非常好用的思维导图工具

非常好用的思维导图工具

2024-07-04

空空如也

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

TA关注的人

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