logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

嵌入式Linux基础——进程的创建之fork与vfork、进程等待(附vfork深度分析——vfork挂掉的一个问题)

进程的简要状态系统进程一般而言,每个进程都是由另一个我们称之为父进程的进程启动的,被父进程启动的进程叫做子进程。Linux系统启动时,它将运行一个名为init的进程,该进程是系统运行的第一个进程,它的进程号为1。你可以把init进程看作为操作系统的进程管理器,它是其他所有进程的祖先进程。我们将要看到的其他系统进程要么是由init进程启动的,要么是由被init进程启动的其他进程启动的。fork函数我

#嵌入式#linux#程序人生
深入浅出设计模式——创建型模式之抽象工厂模式 Abstract factory

抽象工厂模式是一种创建型设计模式,用于生产一组相关或依赖的产品族。它通过抽象工厂接口提供创建多种产品的方法,避免了为每个产品单独创建工厂类。文中以运动场景为例,展示了篮球和足球两种产品族的实现:抽象产品类(球类和球衣类)定义统一接口,具体产品类实现具体功能;抽象工厂类声明创建方法,具体工厂类按产品族实现创建逻辑。客户端通过选择不同工厂即可获取配套产品(如篮球+篮球衣)。该模式便于扩展新产品族(如新

文章图片
#设计模式#抽象工厂模式#经验分享
数据结构与算法之树、二叉树(C++)以及关于建树为何用二级指针超详细不劝退教程

树形结构是一对多的非线性关系。无论是顺序存储,还是链式存储,线性表均有其优缺点。顺序存储可以在O(1)时间内找到特定次序的元素,但是插入和删除元素需要移动大量元素,需要O(n)时间;而链式存储插入和删除元素需要O(1)时间,找到特定次序的元素需要从链表头部向后查找,需要O(n)时间。树形结构结合了两者的优点,可以在O(logn)的时间内完成查找、更新、插入、删除等操作。在实际应用中,很多算法可以借

文章图片
#数据结构#算法#c++
腾讯wxg后台开发面经

C++中auto和decltype关键字用于类型推导但机制不同:auto基于初始化表达式推导类型并可能丢失修饰符,decltype则精确保留表达式类型。vector的resize调整元素数量并可能初始化新元素,reserve仅预分配内存不影响元素数量。vector对象本身在栈上,元素数据在堆上,sizeof(vector)返回对象本身大小而非元素占用空间。unordered_map插入元素时,除非

文章图片
#经验分享
git commit、git branch、git checkout、git switch、git rebase、HEAD、相对引用^~、git reset、revert、cherry-pick

本文介绍了Git版本控制系统的基础知识和常用命令。主要内容包括:1)Git配置信息查看与设置;2)Git提交(commit)机制,说明提交记录保存的是文件快照;3)分支(branch)操作,强调Git分支轻量高效的特点;4)分支切换(checkout/switch)方法;5)两种合并分支的方式:merge和rebase的区别;6)HEAD指针的概念及其移动方法;7)相对引用(^和~)简化提交记录定

文章图片
#git#后端#经验分享 +2
深入浅出设计模式——行为型模式之命令模式 Command

本文介绍了命令模式在智能家居控制中的应用。通过将请求封装为对象,实现了发送者(用户)与接收者(家电)的解耦。文章以电灯和风扇为例,展示了如何通过命令模式设计一个统一的智能家居控制系统。主要包含接收者类(Lamp、Fan)、抽象命令类(Command)、具体命令类(LampCommand、FanCommand)和调用者类(Button)。该模式支持灵活扩展新设备,且用户无需了解具体实现细节,只需通过

文章图片
#设计模式#命令模式#开发语言 +2
深入浅出设计模式——行为型模式之观察者模式 Observer

软件系统中的对象并不是孤立存在的,一个对象行为的改变可能会引起其他所关联的对象的状态或行为也发生改变,即“牵一发而动全身”。观察者模式建立了一种一对多的联动,一个对象改变时将自动通知其他对象,其他对象将作出反应。观察者模式中,发生改变的对象称为“观察目标”,被通知的对象称为“观察者”。一个观察目标可以有很多个观察者。观察者模式定义如下:观察者模式:定义对象之间的一种一对多的依赖关系,使得每当一个对

文章图片
#设计模式#观察者模式#经验分享 +1
数据结构与算法之查找算法——哈希表(又称散列表)

哈希表也称为散列表,也是用来查找指定元素的一种方法。散列表是根据关键字直接进行访问的数据结构。散列表通过散列函数将关键字映射到存储地址,建立了关键字和存储地址之间的一种直接映射关系。这里的存储地址可以是数组下标、索引、内存地址等。利用哈希表查找元素需要解决两个问题:构造哈希表和处理冲突。在图8-75中,如果要查找48,就可以通过散列函数得到其存储地址,直接找到该关键字。散列表查找的时间复杂度与表中

文章图片
#数据结构#算法#散列表 +1
2020年第十一届蓝桥杯国赛C++B 组题——本质上升序列

每日刷题(123)本质上升序列题目描述C++代码(LIS暴力法)这个方法来自https://blog.csdn.net/xjx19991226/article/details/117407391?spm=1001.2014.3001.5501#include<bits/stdc++.h>typedef long long ll;using namespace std;int main(

#算法#程序人生#蓝桥杯 +1
数据结构与算法之线性表基础——顺序表(C与C++双人打)

人狠话不多,干货先上咯先来个简单的线性表基本构造代码以及响应的运行测试程序seq.h#include<stdio.h>#include<string.h>#define MAXSIZE 100//定义线性表的最大长度typedef struct{char key[15];//结点的关键字char name[20];int age;}DATA;//定义结点类型,可定义为简单类

#数据结构#算法#程序人生 +1
    共 91 条
  • 1
  • 2
  • 3
  • 10
  • 请选择