- 博客(11)
- 收藏
- 关注
原创 【C++】string 容器
string是C++风格的字符串,而string本质上是一个类char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的 容器。string 类内部封装了很多成员方法 例如:查找find,拷贝copy,删除delete 替换replace,插入insert,string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进 行负责。
2024-10-30 22:00:36
721
原创 【C++】vector容器
数组容器:本质上是一个数组,通过模板设计,使得它可以保存任意类型 的数据,由于vector数据结构和数组非常相似,也称为单端数组。不同之处在于数组是静态空间,而vector可以动态扩展动态扩展: 并不是在原空间之后续接新空间,至于是扩展的空间大小是由 STL 内部算法实现的.
2024-10-29 21:06:38
918
原创 【C++学习】map/multimap容器
map中所有元素都是pairpair中第一个元素为key(键值),起到索引作用,第二个元素为value(实 值)所有元素都会根据元素的键值自动排序。
2024-10-28 21:32:14
374
原创 QT_工程管理
Library:它可以创建动态库、静态库、Qt Creator自身插件、Qt Quick扩展插件。import Project:从版本控制系统来管理软件项目,导入一些我们使用过的项目。Application:Qt的应用程序,包含Qt Quick和普通窗口程序。其他项目:创建单元测试项目、子目录项目、Qt4设计师自定义控件等。Non-Qt Project:可以创建纯C语言或纯C++项目。1:.pro项目描述文件里面基本构成如下。
2024-05-12 22:35:54
280
原创 QT中char *、QString、QByteArray相互转化
指针时,务必注意这些指针的生命周期和所有权问题。通常,这些指针指向的是内部数据,它们的生命周期受限于原始对象。如果你需要修改这些数据或确保它们在原始对象之外仍然有效,你需要创建自己的副本。
2024-05-12 22:35:12
331
原创 C++学习day1
1. 在使用命名空间时,需要先声明再使用的原则. 也有作用域的问题. 所以在打 开命名空间时,需要先对相对应的命名空间进行定义声明.2. 在调用相同函数的时候,需要用到 :: 作用域运算符, 对同名变量及函数进行 区分, 不然系统或编译器依然无法区分;3. 在调用命名空间内的相同变量名或函数名时,不打开命名空间也是可以的, 但是需要用作用域运算符指定某一个命名空间内的对象;
2023-09-01 15:00:03
132
1
原创 Linux信号
信号是系统软件层次上对中断机制的一个模拟,(软中断方式)并且是一种异步通信机制信号生命周期:从信号的发送到相应的处理函数执行完毕信号诞生:指触发信号的事件发生信号在进程中注册信号的响应和处理信号的执行和注销。
2023-08-03 10:51:12
110
原创 无名管道通信
f.没有办法保证写入数据的原子性(如果管道破裂,则数据丢失),管道缓冲区一有空闲区域,写进程就会试图向管道写入数据,如果读进程不读走管道缓冲区的数据,那么写操作将一直阻塞,半双工:方向不定,但是同一时间只能由一端发送到另一端,对讲机,(同一时间,只能由A设备向B设备发送消息,或者由B设备向A设备发送消息,否则就是自问自答)c.半双工工作方式,读写端是分开的,pipefd[0]为读端,pipefd[1]为写端,同一时刻,只能由一端写,另一端读。无名管道有读端和写端,并且读端只能读,写端只能写。
2023-08-03 09:12:50
69
原创 互斥锁和读写锁操作
1.互斥锁初始化函数原型:参数:pthread_mutex_t *mutex, 互斥锁对象,申请对象const pthread_mutexattr_t *mutexattr 属性较多,一般设置为NULL2.互斥锁的销毁函数原型:参数:pthread_mutex_t *mutex 互斥锁对象3.互斥锁的操作函数原型:// 上锁抢到锁就上锁保护,抢不到就阻塞,// 上锁抢到锁就上锁保护,抢不到就不阻塞// 解锁。
2023-08-03 09:12:27
80
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人