自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++:三次B样条插值

发现的一个可以实现三次B样条的库,可以更加专注于项目的代码实现,提高编程效率。

2025-03-14 20:54:19 161

原创 生成随机数(C++)

【代码】生成随机数(C++)

2025-03-12 14:06:04 112

原创 ROS的action通信——实现阶乘运算(三)

新开一个终端,输入rosrun factorial_pkg factorial_server。新开一个终端,输入rosrun factorial_pkg factorial_client。打开一个终端,输入roscore。如果没有问题,则可以得到最终结果。作者已在代码中进行了详细注释。

2025-02-25 20:48:47 420

原创 ROS的action通信——实现阶乘运算(二)

与此同时,再新打开一个终端执行rostopic list -v。新打开一个终端运行factorial_server节点,作者已在代码中进行了详细注释。如果没有问题会有如下效果。启动roscore,

2025-02-25 09:52:50 404

原创 ROS的action通信——实现阶乘运算(一)

自定义action文件的流程与自定义msg,自定义srv文件十分相似,主要包括编写action文件、配置CMakeLists文件、编译生成三个步骤。

2025-02-25 09:33:32 384

原创 基于C++生成[0, 1]之间的随机数

【代码】基于C++生成[0, 1]之间的随机数。

2025-02-25 07:54:39 114

原创 C++:map容器——自定义数据类型进行自定义排序规则

1、如果想要让Person对象在其他上下文中也可以使用默认的<比较,你可以在Person结构体内部重载<运算符,这样做的话,就不需要在创建map时指定比较函数了。map容器和set容器自带排序操作,但是,对于自定义数据类型,二者必须指定排序规则。之后,指定排序规则,注意,这里的operator()不能直接作为全局函数,因此需要将其写在类中或者结构体中。2、如果想要在不同的上下文中使用不同的排序规则,使用单独的比较函数对象会更加灵活。最后,在测试函数中进行排序和排序后的打印操作。下图是程序运行后的效果。

2024-12-03 17:27:35 299

原创 C++:基于函数模板的选择排序

下面的代基于C++函数模板的相关知识实现了选择排序(升序),并分别利用int型数组和char型数组进行了测试。

2024-11-24 19:53:09 102

原创 C++友元类的分文件编写

在学习C++的关于友元类的知识时,网课例程中是在main函数文件中编写实现,但是我们知道,一般情况下,类以及类的成员函数实现都是在不同文件中实现的,因此,我们会自然的想到。我一共定义了两个类,分别是ClassA以及ClassB(以下简称为A、B),B类是A的友元类。可以看到,我们通过B类访问到了A类的成员成员属性 m_A_private_data = 10.这样,我们就完成了关于A类的实现。现在,我们实现B类,首先是ClassB.h。实现了A类和B类,就可以在main函数中进行测试了。

2024-10-31 16:26:30 264

原创 ROS中自定义头文件和源文件

今天分享一下如何在ROS中进行头文件和源文件的调用。案例是实现输出"Hello World"本文的头文件(即.h文件)放在include/${project_name}路径下, 源文件和可执行文件则在src文件夹下第一步:创建工作空间,创建包,使用vscode打开工作空间(由于之前两篇文章已经详细叙述,因此本文只是简单写一下对应指令)第二步:进入demo10_ws后,首先打开.vscode下的c_cpp_properties.json文件,配置好includePath这一项。(主要是第10行代码,这是为

2024-08-01 21:24:17 617

原创 ROS的服务通信

第三步:使用catkin_create_pkg创建service_pkg包, 注意添加依赖项rospy roscpp std_msgs message_generation message_runtime。第九步:进入service_pkg下的src文件夹,创建server_node.cpp 以及 client_node.cpp。第八步:至此就完成了srv相关的准备,回到demo05_ws下使用catkin_make编译即可。第十二步:回到demo05_ws下,catkin_make进行编译。

2024-07-27 15:18:09 322

原创 ROS中自定义msg

我在学习ROS自定义msg时候,看到了两个学习视频中只是使用了std_msgs中的一些数据类型,考虑到有同学会想在自定义的msg中结合一些其他的消息类型(例如geometry_msgs/Twist),因此写下这篇学习笔记,以便于同大家交流本文将演示如何在ROS中创建以及使用自定义msg(将会用到std_msgs以及geometry_msgs)第一步:打开终端,创建工作空间demo04_ws以及src文件夹第二步:进入demo04_ws,并使用catkin_make进行编译第三步:进入src文件夹第

2024-07-25 16:36:14 1742

原创 C++常用算法的简单总结

merge(iterator beg1, iterator end1,iterator beg2, iterator end2, 放在新容器的什么位置) 容器元素合并,并存储到另一个容器中。transform(iterator beg1, iterator end1, iterator beg2, _func): func可以直接搬运数据,也可以数据加减乘除之后搬运。find(iterator beg, iterator end, 需要查找的数据) 查找元素。

2024-07-13 15:52:19 402

原创 STL内建仿函数

注:三类仿函数的代码如下,其中的逻辑仿函数由于不常用,因此没有写代码进行验证。分类 : 算术仿函数、关系仿函数、逻辑仿函数。2 需要包含头文件 #include。1 用法和一般函数完全相同。

2024-07-12 11:51:01 209

原创 容器:queue(队列)

3、获取队头/队尾元素:front()、back()1、构造函数:queue [queueName]2、添加、删除元素: push() 、pop()5、判断栈是否为空:empty()以下是关于queue容器的总结。4、获取栈的大小:size()

2024-07-06 22:03:15 300

原创 容器:stack

2、添加、删除元素: push() 、pop()1、构造函数:stack [staName]5、判断栈是否为空:empty()4、获取栈的大小:size()3、获取栈顶元素:top()

2024-07-06 21:29:22 355

原创 容器:deque

以下是对于deque容器知识的整理。

2024-06-30 20:46:58 207

原创 容器:vector

3、获取容量capacity和大小size。以下是关于vector容器的总结。6、互换容器和预留空间。

2024-06-29 21:50:10 299

原创 容器:string

4、字符串查找:str.find() / str.rfind()10、字符串获取子串:mystr = str.substr()以下是对于string容器常用功能和函数的总结。6、字符串长度比较:str.compare()5、字符串替换:str.replace()3、字符串拼接:str.append()8、字符串插入:str.insert()9、字符串删除:str.erase()7、字符串存取:str.at()1、定义string。

2024-06-28 20:11:19 182

原创 函数模板——选择排序

【代码】函数模板——选择排序。

2024-06-12 19:34:12 119

原创 C++文件操作

【代码】C++文件操作。

2024-06-11 19:50:48 302

原创 C++二级指针的指向与解引用

本文算是作者对于二级指针学习的一些总结或者说是刨根问底,如果有表述错误,还请各位大神指正。我们不妨假设a的地址是0x01、p内存的地址是0x02、ptr所占内存地址是0x03。我们首先定义一个整型a,令a = 5,再分别定义指针p和二级指针ptr。

2024-06-06 19:02:32 279

原创 加号运算符、左移运算符重载

5、我是想直接访问私有成员,因此,上述两个函数我都是全局函数,然后加上friend关键字,以全局函数做友元。最近在学C++的运算符重载部分,自己尝试将加号运算符和左移运算符结合在一起写了一个小代码。3、将 Student 类放在 Teacher 类下,定义一个学生类数组。4、用左移运算符输出老师及其学生信息、用加号运算符计算学生总分。1、Teacher 类。2、Student 类。主要包括以下几个部分。

2024-05-16 15:44:35 155

原创 交换函数(值传递,地址传递,引用作为函数参数)

全部代码以及运行效果如下:可以发现,仅仅是值传递,不能使主函数内实现数值交换,其余两种可以实现。本段程序主要是完成值交换函数,包括基于值传递、基于地址传递以及引用作为函数参数三个子函数。尤其值得关注如何把引用作为函数参数,进而实现数值交换。

2024-04-22 20:37:16 200

原创 数组的冒泡排序以及找最大值

上述三个功能均用函数封装。值得一提的是寻找数组最大值及其下标,因为C++中,函数返回值只能返回一个,但是这里需要返回两个值(最大值,最大值下标),因此这里考虑返回函数指针。1、寻找出数组的最大值以及最大值在数组中的下标。2、使用冒泡排序对数组进行升序排序。3、打印排序后的数组。

2024-04-21 16:01:35 351

原创 通讯录管理系统

在windows系统下,为了程序运行的美观性,往往会用system(“pause”)以及system(“cls”)两条系统指令。后者在Linux下可以使用system(“clear”)来代替。前者在Linux下我没有找到合适的替代指令,因此自己写了一个简单的程序来替代它。基于Linux系统,IDE选择vscode,编程语言为C++来实现一个简易的通讯录管理系统。

2024-04-20 21:17:14 300

原创 不同维度的数组长度求解

基于以下程序可以求出一维、二维、三维数组的长度,执行效果在文章末尾。

2024-04-18 14:52:57 163

原创 时钟(C++ 类与对象相关知识)

1.首先写出Clock.h,Clock.cpp文件。3.最后运行程序(直接测试整点报时功能)定义一个时钟,需要具备。

2023-12-23 16:46:46 555

原创 冒泡排序(指针 + 函数)

问题:封装一个函数,利用冒泡排序,实现对数组的升序排序。要求:结合指针 和 函数 的知识。

2023-12-21 19:01:16 454

原创 石头剪刀布

【代码】石头剪刀布。

2023-08-13 22:14:18 180

原创 python:银行卡业务办理

【代码】python:银行卡业务办理。

2023-08-04 00:54:24 146

原创 python判断是否是水仙花数

注:因为加上了while True.所以每次判断之后,可以继续输入新的数字进行判断。任意输入一个数(可以是任意位数),判断是否为水仙花数。程序运行效果如图所示(IDLE)

2023-07-27 21:49:59 2161

原创 五色球搭配

共有五种不同颜色的小球,每次取出三个不同颜色的小球,求出所有取球方案。

2023-07-05 17:10:38 115

原创 单词中的字母转换

要求:将一个单词中的小写字母转化为大写字母。

2023-07-03 22:00:49 69

原创 美分找钱方案数量

将n美分转换成25、10、5和1美分的硬币总共有多少种转换方法?如果n不在0~99之间,可以重新输入。方案1:0 0 0 25。方案2:0 0 1 20。方案3:0 0 2 15。方案4:0 0 3 10。方案7:0 1 0 15。方案8:0 1 1 10。方案10:0 1 3 0。方案11:0 2 0 5。方案12:0 2 1 0。方案13:1 0 0 0。方案5:0 0 4 5。方案6:0 0 5 0。方案9:0 1 2 5。

2023-07-03 21:18:34 82

原创 搬砖方案设计

现有n块砖,要由n人一次搬完,假定男人一次可以搬4块,女人一次可以搬3块,两个小孩搬1块,计算这n人中男人、女人和小孩的人数。输入人数和砖数n,输出可能的解决方案。如果没有满足的情况,显示提示信息“no result!

2023-07-03 21:14:55 102

原创 猴子吃桃,求最初几个桃子

有一天,某只猴子摘了一些桃子,当时吃了一半,又不过瘾,于是就多吃了一个。以后每天如此,到第n天想吃时,发现就只剩下一个桃子。输入n,表示到第n天剩下1个桃子,请计算第一天猴子摘的桃子数。输入一个整数n,n>0,表示到第n天剩下1个桃子。

2023-07-03 21:09:32 84

原创 歌唱大赛选手成绩计算

歌唱大赛选手成绩计算方法如下:去掉一个最高分,去掉一个最低分,将剩下分数的平均值作为选手的最后成绩。这里假设共有10位评委,都是按照百分制打分。输入:88 90 97 89 85 95 77 86 92 83。

2023-07-03 21:07:48 323

原创 打印3个相邻字母

当用户输入一个英文字母后,程序能够按照字母表的顺序打印出3个相邻的字母,其中用户输入的字母在中间。这里假设字母表首尾两个字母是相连的。若输入字母Z,则程序输出YZA。

2023-07-03 21:05:45 452

原创 寻找自幂数

功能:用户输入几位数:n,找出并显示所有n位的自幂数(由于int范围有限,9位以下都是支持的)得到结果54748 92727 93084。寻找自幂数(寻找水仙花数的2.0版)

2023-07-02 23:25:26 256

空空如也

空空如也

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

TA关注的人

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