![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
c/c++知识记录
风过^无痕
这个作者很懒,什么都没留下…
展开
-
进程间常用通信方式
使用流程:创建/获取共享内存-附加共享内存(将内存链接进当前进程)-使用内存-分离共享内存-剥离共享内存。5.sockets套接字。原创 2024-03-21 09:30:17 · 169 阅读 · 0 评论 -
c++ 字符串常用api
1.截取substr(index,size),从下标index处截取长为size的内容。5.字符串分割,使用stringstream API,需要添加sstream类。6.查找子字符串find(),返回第一次出现的位置,没有会返回一个无穷大值。4.字符串长度size(),不包含最后的‘\0’字符。2.末尾添加字符push_back。3.字符串拼接,直接使用+运算。原创 2024-03-12 15:38:05 · 375 阅读 · 2 评论 -
指针和引用
定义和性质:多级:初始化:指向NULL:改变所指对象:sizeof运算结果:原创 2024-03-21 22:18:35 · 275 阅读 · 0 评论 -
多线程编程
1.背景知识相比于多进程效率高,调度以线程为单位,分配内存以进程为单位。防止CPU一直被占用防止同一资源被多线程抢用使用互斥量:和一般变量的区别就是,通过上锁函数检测到锁被其他线程使用时时线程会。mutex状态为0表示共享资源正在被其他线程/进程访问,状态为1表示没有被线程/进程访问。原创 2024-03-25 09:32:28 · 198 阅读 · 0 评论 -
互斥锁mutex
避免多线程/进程对共享资源的访问。状态为0表示共享资源正在被其他线程/进程访问,状态为1表示没有被线程/进程访问。原创 2024-03-10 12:10:10 · 370 阅读 · 0 评论 -
c++ 模板template
如下函数就只能接收int类型数据输入,并返回int类型,想处理string类型或者其他类型只能重新定义一个函数。使用template进行定义,可以同时适用于多种数据类型。有多个模板参数是,增加typename个数就行了。作用:通过template定义。原创 2024-03-15 22:10:45 · 369 阅读 · 0 评论 -
程序运行时,常见存储区分类及作用
作用 栈区(stack) 存放函数的形参和局部变量(auto类型),由编译器自动分配和释放。 生命周期与函数调用相关,函数结束时自动回收。 栈区的大小有限,通常较小。 例如,函数参数和局部变量。 堆区(heap) 由程序员手动申请和释放,需要注意避免内存泄漏。 存放动态分配的内存,如使用malloc或new。 生命周期由程序员控制,程序结束时可能由操作系统回收。 例如,动态分配的对象、数组等。原创 2024-03-19 10:18:34 · 526 阅读 · 0 评论 -
c++ vector使用
动态数组,使用方法与python数组类似。原创 2024-03-11 14:24:15 · 382 阅读 · 0 评论 -
浅拷贝和深拷贝
(改变一个变量的值,另一个变量也会改变),可以理解为就是创建了一个应用。浅拷贝只复制指向某个对象的指针,不复制对象的数据,新旧对象。深拷贝会复制原对象的额所有元素,原创 2024-03-11 10:52:04 · 310 阅读 · 0 评论 -
线程和进程
影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响(一个工地烂尾不影响其他工地),但是一个线程崩溃整个进程都死掉(建房子任意一个环节出问题,工地就做不下去了)。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。内存分配:同一进程的线程共享本进程的地址空间和资源(同一工地的公共材料),而进程之间的地址空间和资源是相互独立的(两个工地老板都不同)简单理解进程是为了实现一个大的任务(修一栋大房子),每一个线程负责分工实现其中的各个部分(打灰,粉刷,通水,通电等等)原创 2024-03-10 12:46:50 · 380 阅读 · 0 评论 -
嵌入式学习-网络编程
1.端口、程序、进程关系,多进程监听同一端口(多个网络应用进程监听80端口)如何区分是那个进程的数据2.IP地址是如何被分配的3.如何解决僵尸进程问题添加语句signal(SIGCHLD,SIG_IGN)原创 2024-03-18 14:45:04 · 935 阅读 · 0 评论 -
c++ unordered_map使用
直接初始化和二维数组初始化一样,使用大括号{},内层键值对也使用大括号{},使用逗号隔开。原创 2024-03-11 15:21:03 · 482 阅读 · 0 评论 -
c++ 全局变量、局部变量、静态全局变量、静态局部变量
参考链接:C++ 变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为 6 种:,,,,。函数执行时存在。原创 2024-03-19 10:09:24 · 550 阅读 · 0 评论 -
c/c++ 数组
定义double类型大小为5的数组balance,并初始化前4个元素,剩余元素默认为0;定义double类型数组balance,数组大小由后面初始化数据确定。通过中括号“[]”加下标进行访问,下标要。访问第一个元素1000.0,使用下标0;初始化元素使用大括号‘{}’定义数组使用中括号‘[]’原创 2024-03-05 10:35:13 · 317 阅读 · 0 评论 -
c++ stack使用
就如开进死胡同的车队,先进去的只能最后出来。之一,特点是先进后出。原创 2024-03-01 19:16:18 · 411 阅读 · 0 评论 -
c++力扣刷题常用
作用:快速查找元素声明及初始化:使用,访问、修改、添加元素使用[],常用api。原创 2024-02-08 13:13:39 · 444 阅读 · 0 评论 -
c++命名空间
1.与引用第三方库区别个人理解本质一样的。选择使用命名空间还是将内容写入库文件中取决于你的需求和项目的规模。如果你只是在单个项目中组织代码,并且不需要与其他项目共享功能,那么使用命名空间可能更加简单和方便。而如果你希望将功能封装为独立的模块,并且可以被多个项目共享使用,那么将内容写入库文件中可能更适合。原创 2024-02-08 10:45:12 · 358 阅读 · 0 评论 -
c++中.和->的区别
申明结构体为变量时使用.运算符,申明结构体为。原创 2024-02-06 19:55:24 · 403 阅读 · 0 评论 -
c++虚函数
创建一个父类可以调用子类同名函数(先通过指针将一个。虚函数使用目的是可以通过。关键字修饰父类虚函数。原创 2024-03-04 18:58:03 · 720 阅读 · 0 评论