自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode刷题-系统设计工程题

874. 模拟行走机器人

2024-01-11 15:53:46 355

原创 移动机器人规划、控制算法初识

移动机器人路径规划算法总结_机器人运动轨迹算法-CSDN博客机器人控制算法综述_机器人控制技术综述-CSDN博客机器人控制算法简要概述_智能控制算法-CSDN博客 移动机器人规划控制算法总结!-CSDN博客为什么今年PNC那么香?-CSDN博客汽车行业术语_汽车行业homologation含义-CSDN博客[ROS2 基础] Navigation2 导航系统介绍_ros2 navigation-CSDN博客

2023-12-29 17:17:10 507

原创 赵虚左Ros2-核心篇讲义学习-第二三章 ROS2通信机制核心

在ROS2中通信方式虽然有多种,但是不同通信方式的组成要素都是类似的,比如:通信是双方或多方行为、通信时都需要将不同的通信对象关联、都有各自的模型、交互数据时也必然涉及到数据载体等等。本节将会介绍通信中涉及到的一些术语。话题通信是ROS中使用频率最高的一种通信模式,话题通信是基于发布订阅模式的,也即:一个节点发布消息,另一个节点订阅该消息。

2023-12-27 15:26:07 1970 1

原创 C++容器stack与queue-基本特性与算法练习

c++的stack和queue的pop函数只是将栈顶或队首的元素移除,而不返回任何值。对一个空的栈调用top和pop函数,会异常终止,所以应该使用empty()函数提前检查。栈没有clear或者erase函数,如果想要清空一个栈,需要循环的调用出栈函数。适配器容器没有迭代器,没有begin()、end(),不能遍历;思路:辅助栈元素映射主栈最小值。string真的很强大。

2023-12-26 11:46:05 431

原创 C++ 哈希表-unordered_map、unordered_set力扣练习

从pair到unordered_map,理论+leetcode题目实战_unordered_map pair-CSDN博客【LeetCode】查找表问题:Map 常见典例_leetcode中map常用用法-CSDN博客leetcode c++(4)(哈希表unordered_map、散列表unordered_set、动态规划、substr()、有很多道双指针法)-CSDN博客

2023-12-19 17:47:52 372

原创 c++刷题leetcode常见报错(持续更新)

vector在还没有分配任何空间时还不能像数组一样用下标形式去访问vector的(v[0]也不行)!否则编译通过但报运行错误runtime error!

2023-12-18 12:13:47 434

转载 简析XML和HTML的区别

XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准。

2023-12-13 11:10:48 52

原创 c++STL使用时的迭代器失效问题

迭代器失效会导致程序出现莫名其妙的越界访问、编译报错和获取的位置跟预期不符。

2023-12-12 17:21:20 1038

原创 C++STL算法库中谓词的使用

谓词函数是一个判断式,一个返回bool值的函数或者仿函数,有几个入参就是几元谓词。其使用就是在那些以这种 [需要返回bool值的函数] 作参数的函数里用【引用自百度百科】。常见的可以作为谓词的东西:函数、函数指针、函数对象、lambda表达式,库定义的函数对象。

2023-12-11 15:42:07 899

原创 C++刷题实践--排序总结

C++刷题实践--排序总结。

2023-12-08 14:38:37 387

原创 了解c++11新特性-智能指针

unique_ptrunique_ptr是一种独占智能指针,它提供了对动态分配的对象的独占所有权。它不允许多个unique_ptr 指向同一块内存,因此不能进行拷贝,只能进行移动(转移交出所有权给另一个智能指针)。当std::unique_ptr超出其作用域时,或者通过std::move将所有权转移给其他std::unique_ptr时,它指向的对象也会被自动摧毁,帮助程序员实现了自动释放的功能。unique_ptr 也可能还未指向对象,这时的状态被称为 empty。

2023-12-07 16:57:24 756

转载 c++ Lambda表达式

待参考:

2023-12-06 15:50:55 23

原创 c++仿函数及在STL中的应用

函数对象(仿函数)实现了把一个函数像一个对象一样去使用(作为参数传递、也可以有成员变量),把一个对象像一个函数一样去使用(对象可以像函数一样调用),功能很强大轻便。在函数对象像函数一样调用的过程中,有时候我们只关心两个操作数的运算,这样先定义一个函数对象,再用这个对象去调用其运算符函数,就显得稍微缓慢。find_if()函数的参3需要传入一个谓词,我们传入了一个匿名函数对象(当然也可以自己定义一个实名函数对象传入),其也是个一元谓词。,后面直接跟参数(如果没入参,可省略),就达到了我们的目的。

2023-12-06 14:25:11 985

原创 数据结构-字符串

数据结构-字符串。

2023-12-01 16:04:43 397

原创 c/c++概念辨析-指针常量&常量指针、指针函数&函数指针、指针数组&数组指针

在上面的例子中,我们定义了一个函数指针p,它指向一个参数为两个int类型的函数,并返回一个int类型的值。忽略int,看const右侧紧跟着的是指针p还是常内容 *p, 是指针,那就侧重点在描述指针值不可变,可类比 “字符串常量”,即为 指针常量;是常内容*p,那就是侧重点描述指向内存内容不可变,记忆时可以把*p 替换为常内容,那就是常量(内容)指针)数组指针又称为行指针,它指向的是一个数组,对于一个二维数组,它指向的就是一行行一维数组。可简单理解为,XX类型的指针,也可理解为指向XX的指针。

2023-11-30 11:55:02 640

原创 ubuntu/vscode下的c/c++开发之-CMake语法与练习

这三个变量指代的内容是一致的。在 Linux/Unix 平台,生成 makefile,在苹果平台,可以生成 xcode,在 Windows 平台,可以生成 MSVC 的工程文件。这里强调一点,当我们随着代码的迭代开发,要修改项目中的文件,重新编译获得可执行文件时,我们只需要重新make一下。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库。

2023-11-27 22:11:35 1241

原创 JSON数据格式

第一阶段-第十章-02-JSON数据格式的转换_哔哩哔哩_bilibili。

2023-11-24 11:30:38 829

原创 嵌入式面经-python相关问题

1、c\cpp\python 区别,各自优缺点?2、python是怎么处理 深拷贝和浅拷贝的?3、python的多线程 多进程。4、用过python哪些库。

2023-11-23 10:48:06 44

原创 CSDN如何完整转载别人的文章并做自己的笔记

3、这篇文章解决,对于含有代码块的文章粘贴后,出现的额外行号块问题。

2023-11-22 15:44:13 187

原创 IIC通信

秒懂I2C时序图,IIC时序图讲解【中】,I2C入门第一节-I2C的基本工作原理,I2C写字节的基本流程,lcd1602看时序图写代码,I2C时序图讲解【下】,学完C语言,做不出小程序,做不出图形化界面,只有黑乎乎的窗口,自学编程的几点建议,7分钟看懂时序图,不懂你骂我,花了四个多小时画了人生第一块PCB。IIC的基本介绍IIC总线的发展: 芯片间总线(Inter Interface Circuit,IIC),是应用广泛的芯片间串行扩展总线。3、IIC协议,帧格式,收发数据的时序流程。

2023-11-21 14:26:56 70

原创 赵虚左Ros2-核心篇讲义学习-第一章 ROS2概述与环境搭建

ROS概述机器人是一种高度复杂的系统性实现,机器人设计包含了机械结构设计、机械加工、硬件设计、嵌入式软件设计、上层软件设计等诸多模块,是各种硬件与软件的有机结合,甚至可以说机器人系统是当今工业体系的集大成者。机器人体系是相当庞大的,其复杂度之高,以至于没有任何个人、组织甚至公司能够独立完成系统性的机器人研发生产任务。在此大背景下,便诞生了ROS。ROS出生于2007年,ROS的出现解决了机器人各个组件之间的通信问题,同时基于ROS的完善的通信机制,越来越多的优秀的机器人算法集成到了ROS中来。

2023-11-20 15:42:40 944

原创 文本文件和二进制文件

二进制文件和文本文件到底有什么不同?(一)_二进制文件和文本文件的区别_teengad的博客-CSDN博客 文本文件与二进制文件的区别_二进制文件和文本文件的区别-CSDN博客

2023-11-20 11:40:58 51

原创 c++多态(虚函数)机制

其中后两个,指针和引用的使用,是多态第二个条件的核心组成部分:如果函数的形参是基类对象或基类对象的引用,在调用函数时可以用派生类对象作为实参。下面是前面案例的完整代码,在test01方法中,分别给 DoSpeak 传递了不同派生类型的类对象参数 给 DoSpeak的形参(一句话:指在需要基类对象的任何地方,都可以使用public派生类对象来替代(反之不能兼容),当然,也只能访问原基类部分的成员。1、父子类原来本身都有的虚函数,虚函数表中更新成子类的虚函数入口。2、只有父类才有的虚函数,虚函数表中持有不变。

2023-11-20 10:37:26 43

原创 c++多态之辨析:静态联编和动态联编

这个要依赖函数运行起来之后,传入DoSpeak的实参决定,传入cat对象就执行cat的虚函数。也就是说,只有程序运行起来,DoSpeak传入实参,才能确定(绑定)speak的具体实现。动态联编也称为晚期绑定,是指在运行时根据对象的类型确定方法调用的具体实现。有时候方法调用者和其调用方法之间不是完全确定的,可能需要依赖程序运行起来以后,根据调用者的类型或者传参情况才能把具体实现终于确定下来。在编译成可是执行文件时,自动链接依赖的目标库,如果需要多次链接相同的目标文件,则需要对于目标文件进行多次的拷贝。

2023-11-20 10:36:54 112

原创 Vscode 常用快捷键与调试技巧

VS实用调试技巧_vs局部变量窗口-CSDN博客

2023-11-20 09:30:53 76

原创 使用vs studio 2017的cl命令查看c++类的模型结构

ps提示:这一步可能会报错,说找不到cl命令。原因是你的vs的cl命令需要在windos的path配置环境变量。3、输入: cl /d1 reportSingleClassLayout查看的类名 所属文件名。输入:cl /d1 reportSingleClassLayoutSon “源1.cpp”我想查看,类Son实现继承之后的实际模型结构。1、定位到当前CPP文件的盘符。2、定位到cpp文件所在目录。

2023-11-17 11:49:13 190

原创 怎样用 vs2017新建一个项目编写一个cpp并运行

Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开。给C++文件起个名称,然后点击添加即可。编写一个C++程序总共分为4个步骤。右键源文件,选择添加->新建项。

2023-11-14 10:06:08 674

原创 Wireshark学习 与 TCP/IP协议分析

打开wireshark,显示如下网络连接。选择你正在使用的,(比如我正在使用无线网上网),双击可以先看下自己的ip地址和网关ip地址(看抓包数据时候会用到)

2023-11-09 16:07:53 1683

原创 自己手写一个操作系统需要写哪些

自己动手写一个操作系统需要编写以下内容:

2023-11-08 16:37:26 98

原创 黑马-web服务器(html与epoll)与http协议

黑马-web服务器

2023-11-07 10:09:06 245

原创 libevent

有资格被处理,但还没有被处理 (只剩数据没到达了)没有资格被处理 (除了数据没到达,还有其他监听条件没满足,比如事件没add)小注意:事件被处理完,如果设置了persist,add会被再调用一次。

2023-11-06 23:29:26 78

原创 报文的路由过程

我们可以很毫无差错的从自己的主机访问到处于公网的一台服务器,因为公网ip地址的唯一性。桥接模式(bridge),是把副路由的DHCP功能关闭了的,连接副路由器的设备自然是使用的主路由分配的IP地址,连接副路由的设备的IP和连接主路由的IP它们依旧是一个网段,可以无障碍地互相访问的。路由器C接收到数据包后和B做的操作是一样的,路由器比对自己的路由表,发现C的IP与目的IP是一致的,最终源MAC地址变成C2的MAC地址,目标MAC地址变成主机E的MAC地址,然后发送给主机E,这样E就收到了这个数据包。

2023-10-31 11:18:45 479

原创 【C语言】void类型和void*指针类型

【C/C++】如何理解void*与int之间的类型转换--以pthread_create为例_void *转int-CSDN博客 【C语言】void 和 void* 类型_void*类型_yuelinghou的博客-CSDN博客 c语言中void和void*类型_system.void不能用作类型参数-CSDN博客 【C语言】void类型和void*指针类型_指尖动听知识库的博客-CSDN博客

2023-10-24 10:34:13 189

原创 C语言函数调用过程解析

C语言函数调用的过程图解深入剖析_c语言函数调用过程_一只爱打拳的程序猿的博客-CSDN博客

2023-10-23 16:59:33 79

原创 Linux用户空间与内核空间交互的几种方式

2023-10-23 11:38:53 105

原创 查看linux系统 管道/栈/最大打开文件数等 命令 ulimit -a

一、前言:在应用程序我们经常需要定义大的数组,数组定义成局部变量非静态变量,那么数组就会在栈上分配,当数组超过默认栈的大小时,会引起非常内存访问。一般,在Unix-like平台,栈的大小不是由程序自己来控制的而是由环境变量来控制的,所以就不能通过设置编译器(像gcc)的任何编译标志来设置栈的大小;在windows平台下,栈的大小的信息是包含在可执行文件中的。也可以用Microsoft提供的一个..._gcc设置堆栈大小。不同平台下对默认栈大小修改_gcc设置堆栈大小-CSDN博客。

2023-10-18 14:54:28 121

原创 linux错误处理函数

linux c之perror、exit_perror与exit-CSDN博客 函数简介篇——错误处理函数:errno值、perror()、streeor()、streeor_r()_惺忪牛犊子的博客-CSDN博客

2023-10-18 14:44:34 140

原创 linux下文件存储系统(inode/目录项/硬链接)

(3)给文件创建硬链接的时候,两个文件有相同的inode;也就是说,硬链接的文件只有目录项是不同的(如下图,三个不同名的文件只是目录项)。删除一个硬链接的就是干掉一个目录项。(2)目录项里面存两个东西 文件名和 inode号。通过inode号可以找到磁盘上的文件。, 要注意删除文件并不会让数据在磁盘消失, 只是OS丢失了。(1)inode 也叫做文件属性管理结构体。, 磁盘只能覆盖, 不能擦除。(4)删除硬链接也只是删除。

2023-10-16 10:07:00 158

原创 C语言中的文件操作函数

在一些对性能要求比较高的领域,C语言依然有不可撼动的地位。但是C语言标准库的函数比较多,很多时候我们要实现某个逻辑功能,不知道调用哪些函数。这里把大家能用到的几乎的所有的C语言库函数以表格的形式列出来,供大家参考。根据功能将C语言标准库函数分为:数学运算、文件和目录操作、事件和日期、进程操作、内存分配、字符串处理、系统函数、类型转换、绘图函数九类。C语言中的文件操作函数_c语言文件操作函数_点子李的博客-CSDN博客。C语言标准库函数大全_c语言函数库_码农飞飞的博客-CSDN博客。

2023-10-13 16:13:05 124

原创 linux有用命令工具-Strace: 跟踪系统调用

Strace详细介绍:跟踪和分析程序的系统调用_linux 跟踪命令_二进制coder的博客-CSDN博客 strace 命令详解_Ruo_Xiao的博客-CSDN博客

2023-10-13 15:10:22 64

c++课程学习笔记高亮版

黑马c++ 学习笔记高亮版 markdown 11/20

2023-11-20

linux学习-进程(虚拟内存、进程控制/进程间通信)

黑马 系统编程课程 xmind

2023-10-18

空空如也

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

TA关注的人

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