自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(149)
  • 问答 (1)
  • 收藏
  • 关注

原创 十一、浅谈C++中的几种构造函数

https://blog.csdn.net/zxc024000/article/details/51153743?utm_source=copy

2023-11-02 20:49:47 123

原创 十、C++ this的使用

在C++中,this 是一个指向当前对象的指针,它可以在成员函数内部使用,用于访问当前对象的成员变量和成员函数。this 指针允许在成员函数中解决对象与局部变量之间的歧义,特别是在成员函数参数名与成员变量名相同时。

2023-11-02 20:49:17 180

原创 九、C++ STL容器

https://www.jianshu.com/p/497843e403b4

2023-11-02 20:48:39 126

原创 1. eulerAngles函数

其中的参数指明了旋转矩阵的旋转顺序: 0:x 1:y 2:z。

2023-11-02 11:55:27 138

原创 2. dpkg: error processing package *** (--configure)错误解决办法

参考

2023-11-02 11:52:32 484

原创 一、lambda函数

lambda函数用于创建一个无名函数,只能有一个表达式,其表达式就是返回结果.lambda arg1,arg2,arg3…

2023-11-02 11:42:06 71

原创 一、int main(int argc, char** argv,char* envp)

32系统,指针大小为4字节。64系统,指针大小为8字节。

2023-11-02 11:34:34 102

原创 一、CMakeLists.txt,rosrun相关问题解释

此外,在每一个功能包下也有一个CMakeLists.txt文件以及一个package.xml文件,该文件规定了该功能包的一些编译运行规则,需要进行修改,重点了解。节点名指的是在rosmaster中的节点名称(在ros::init()中初始化),可执行文件名(在CMakeLists.txt中初始化)与之对应。前者是一个可执行文件的名称,后者是一个在rosmaster中的名称,二者具有一一对应关系,名称可以相同,也可以不同。进行生成的可执行文件,所以rosrun本质上执行的是一个可执行文件,这和通过。

2023-08-04 17:32:07 154

原创 1. LINK1104 无法打开文件“libboost_atomic-vc142-mt-gd-x64-1_76.lib”

出现这种报错,很有可能是2中所说的附加依赖项的问题,打开不了的那个包很可能是依赖项里的包名,可以查看一下是不是,如果是,要么安装相应的版本的包,要么将里面的名字改成你安装好的版本包,不是很麻烦。

2023-03-05 20:26:34 2191 3

原创 C++ 学习资源汇总

C++动态内存分配

2022-11-29 15:32:55 301

原创 八、C++ 类的构造函数和析构函数

类的构造函数是类的一种特殊的成员函数,它会在创建新的类的对象时执行。类的析构函数会在每次删除所创建的对象时执行。

2022-11-28 23:16:23 386

原创 七、C++ 多态

在C++中,通过函数重载可以实现同一函数名不同的功能,即不同功能的函数使用同一名字。同样,在类中,也存在多态。不同的类之间存在继承,在基类中存在一个函数fun(),A类继承了基类,那么在A类中也存在func(),B类继承了基类,那么在B类中也存在func(),但是A类和B类中的函数名虽然与基类相同,但是实现却不一样,这就称为类的多态。在基类中,使用关键字virtual声明虚函数,告诉编译器不要将函数连接到基类中的函数。如果只想在基类中声明函数,具体实现放在派生类中,这时可以使用纯虚函数。

2022-11-23 21:51:39 187

原创 六、C++ 运算符重载

在C++中,一些运算符可以进行重载,重载后的运算符在原有功能的基础上增加一些新的功能。从本质上看,运算符重载就是函数重载,只是这个运算符换成了运算符。

2022-11-23 20:35:51 306

原创 五、C++ 函数重载

有时,为了避免命名空间污染,对于同一功能的函数,可以使用同一函数名,并通过函数参数的类型,个数,顺序来区分不同的函数功能。:只能通过函数参数来区分不同的函数的功能,不能通过不同的返回值来区分不同的函数。

2022-11-23 19:33:29 375

原创 四、C++ 类的继承

我们知道,在类中一共有三种类型,分别为public,private和protected,默认为private,在结构中,默认是public。继承允许我们依据一个类来创建一个类,这个已有的类称为基类,新创建的类称为派生类。有时候,一个派生类可以从多个基类中继承,这种继承方式称为多继承。可见,在一个类中,只有类内的成员才可以访问private。

2022-11-18 21:06:02 399

原创 三、C++ 类和对象

在C++中,类是对象的抽象,对象是类的实例化,类是不存在现实中的,对象是存在现实中的。例如,我们都是人类,人类是一个类,在现实中并不存在人类这个东西,而只存在人这个人类实例化的东西,所以,认识一个对象。所谓类,就是对一群具有相似属性的对象的抽象。

2022-11-13 22:16:57 404

原创 二十九、URDF集成Rviz基本流程

在rviz中显示一个盒状机器人。

2022-10-09 21:15:08 502

原创 三十二、C递归

所谓递归,就是函数的自我调用,先向下传递,当条件不满足时,在向上返回,称为归。

2022-10-08 22:31:33 173

原创 三十一、C错误处理

在C语言中,不支持对错误的直接处理,但是可以使用相应的函数来判断错误,并将错误输出。

2022-10-08 21:38:17 318

原创 三十、C命令行参数

【代码】三十、C命令行参数。

2022-10-07 22:43:47 268

原创 二十九、C内存管理

void * 类型表示未确定类型的指针。C、C++ 规定 void * 类型可以通过类型转换强制转换为任何其它类型的指针。

2022-10-07 21:55:51 445

原创 二十八、C可变参数

【代码】二十八、C可变参数。

2022-10-07 21:15:39 259

原创 二十七、C强制类型转换

【代码】二十七、C强制类型转换。

2022-10-07 19:35:29 948

原创 二十六、C头文件

【代码】二十六、C头文件。

2022-10-04 22:16:07 75

原创 二十五、C预处理器

当一行写不下时,用于换行格式:# define message(a , b) \ printf(#a "and" # b "wei love you!

2022-10-02 21:57:39 326

原创 二十四、C 文件读写

【代码】二十四、C 文件读写。

2022-10-01 22:12:39 422

原创 二十七、rqt常用插件

【代码】二十七、rqt常用插件。

2022-10-01 16:02:14 698

原创 二十六、rosbag功能包

对于传感器获取到的信息,有两种处理方式,一种是实时处理,另一种是先存储起来,后期在进行处理。显然,第二种处理方式更加灵活,在ROS中,提供了rosbag功能包来进行数据的存储和读取。rosbag本质上也是一个节点,在录制信息时,是一个订阅者,在回放信息时是一个发布者,因此也可以用以下命令进行数据的录制回放。

2022-10-01 11:34:30 1160

原创 二十三、 C 输入输出

C语言把所有的设备都当做文件。在进行输入输出时,系统会先把数据保存到缓冲区,程序再从缓冲区读取数据,因此,会产生上次的输入影响下次的输入的情况,解决办法就是提前清空缓冲区。

2022-09-27 17:03:43 183

原创 二十二、C typedef

在C语言中,可以使用关键字typedef为类型取一个新名字代码实现:# include # include typedef struct test1 {int age;} People;People p;printf("姓名:%s\n年龄:%d" , p . name , p . age);}运行结果:姓名:xiaomage年龄:20。

2022-09-24 10:11:39 281

原创 二十五、TF坐标变换实操

创建turtle2,用于跟随turtle1发布相对于世界坐标系的乌龟坐标根据坐标计算turtle2的线速度和角速度。

2022-09-23 22:31:25 510

原创 二十一、C位域

struct 位于结构名 {}代码实现:# include # include struct test1 {};};printf("i的大小:%d\n" , t2 . i);// 此处会有警告,因为j的内存超出了位域定义的大小 // 输出结果为0 printf("j的大小:%d\n" , t2 . j);printf("t1的大小:%d\n" , sizeof(t1));

2022-09-22 11:21:41 160

原创 二十、C共用体

结构体可以同时存储不同的数据类型,里面的成员可以同时赋值。结构体可以存储不同的数据类型,但是只能有一个成员被赋值。原因是结构体的内存大小由所有的成员共同决定,共用体的成员则共同占用同一个内存。当共用体成员被同时赋值的时候,因最新的为准代码实现:# include # include // 定义结构体 union Data {int i;float f;};// 定义结构变量 union Data data;

2022-09-22 08:55:59 357

原创 十九、C结构体

在前面,我们已经学习了数组。数组可以存储相同类型的数据变量,但是,有时,一个数据可能包含不同的数据类型,针对这一问题,提出结构体。结构体可以存储相同的数据类型。//结构体标签 member - list//结构体变量。

2022-09-16 20:56:03 143

原创 十八、C字符串

代码实现:// 字符串以'\0'结尾,其长度比字符串大一 char site_01 [ ] = {// 定义长度小于字符串实际长度,会输出定义长度加字符串 char site_02 [ 6 ] = {// 正常长度 char site_03 [ 7 ] = {// 大于实际字符串长度,输出字符串 char site_04 [ 8 ] = {printf("名字_01: %s\n" , site_01);printf("名字_02: %s\n" , site_02);

2022-09-15 21:18:53 84

原创 十七、C函数指针与回调函数

代码】十七、C函数指针与回调函数。

2022-07-21 22:22:07 93

原创 二十四、TF坐标变换(四):多坐标变换及坐标系关系查看

在父级坐标系world下,有两个子级坐标系son1,son2,已知两个子级坐标系相对于父级坐标系的关系,求出son1相对于son2的坐标原点的关系,以及son1中的一点相对于son2中的关系。这时,我们就可以先发布son1,son2相对于world的坐标关系,然后创建TF订阅对象,通过tf2功能包完成坐标转换。在ros系统中,可以通过相应的功能包生成树形结构的坐标系图谱。...

2022-07-21 19:04:07 858 1

原创 十六、C指针详解(六):指针知识点汇总

一个变量,变量名,变量值,变量地址。指针变量存放变量的地址,同时,指针变量有自己的地址,指针必须与变量的类型一致指针变量本质上是一个变量,只不过这个变量是用来存放其他变量的地址,这是其与其他变量的不同之处,需要用*加以标识,与其他变量一样,使用时也需要提前声明图片解释:运行结果:1.3 空指针在C语言中,如果定义的指针没有确切指向的地址,则赋值为NULL,被称为空指针。在操作系统中,内存地址为0的内存是不可以访问的,如果指针为0,则假定它不指向任何东西运行结果:二、指针的算数

2022-07-14 17:08:45 224

原创 十五、C指针详解(五):指针与函数

C语言允许传递指针给函数运行结果:二、从函数返回指针C语言支持从函数返回指针

2022-07-14 17:02:28 99

原创 十四、C指针详解(四):指针的指针

指针用来存放变量的地址,同时,指针也有自己的地址,因此,就可以设置一个指针变量,用来存放指针的地址,也就是指针的指针,他存放的是一个地址,通过取值符*可以取出相应位置的值

2022-07-14 11:38:57 1131

空空如也

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

TA关注的人

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