
c++
Believe yourself!!!
须知少年凌云志,曾许人间第一流
展开
-
C++语法2
C++语法记录2原创 2022-12-06 10:29:42 · 651 阅读 · 0 评论 -
C++语法琐碎记录
C++语法记录原创 2022-12-06 10:28:26 · 440 阅读 · 0 评论 -
数据结构——顺序表的链式操作
数据结构链式操作原创 2022-12-06 10:23:06 · 213 阅读 · 1 评论 -
数据机构——顺序表的基本操作
数据结构线性表的基本操作原创 2022-11-28 18:52:23 · 176 阅读 · 0 评论 -
C++万能头文件
# include <bits/stdc++.h>写上这个头文件后就不需要在写# include <iostream>、string、list、vector等的包涵了。下面是这个头文件的详细信息:// C++ includes used for precompiling -*- C++ -*-// Copyright (C) 2003-2014 Free Software Foundation, Inc.//// This file is part of t..原创 2022-03-25 22:38:44 · 3114 阅读 · 0 评论 -
配置Vscode实现ROS编写
第一步:下载必要的插件第二步:配置编译快捷键先Ctrl+P调出文档tasks.json{ "version": "2.0.0", "tasks": [ { "label": "catkin_make: build", "type": "shell", "command":"catkin_make", "args": [], "group":{"kind": "build","isDefault": true}, "presentation原创 2022-01-05 18:08:30 · 524 阅读 · 0 评论 -
ROS——创建工作空间
第一步:创建一个文件夹:第二步:在文件夹下创建一个src文件夹:第三步:在src下面创建功能包:catkin_create_pkg 功能包名 roscpp rospy std_msgs第四步:回到根目录下进行编译:catkin_make第五步:配置一下环境依赖:vi ~/.bashrc进入到文档中,在输入E进入编辑模式,输入a开始编辑,编辑完成后输入Esc退出编辑模式,输入Shiht+t+t 保存并退出source ~/.bas.原创 2022-01-14 10:08:25 · 687 阅读 · 0 评论 -
C++内存分区模型
程序在运行的过程中是会被加载到内存中的,一个程序可能会存在不同的功能块,所以不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程C++的程序会在内存中分为四大块: 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收代码区 程序编译后是一个二进制的文件,这个二进制的文件便会放在代...原创 2021-09-01 16:49:58 · 109 阅读 · 0 评论 -
ROS遇到的问题“The target name “test“ is reserved when CTest testing is enabled”.
原因:test是某些cmake特性保留的关键字,cpp文件不能起名为test.cpp,可以改为test1.cpp原创 2021-09-01 11:06:29 · 1737 阅读 · 0 评论 -
机器人导航
一、SLAM建图<launch> <arg name="use_map_topic" default="false"/> <arg name="scan_topic" default="scan"/> <node pkg="amcl" type="amcl" name="amcl" clear_params="true"> <param name="use_map_topic" value="$(arg u原创 2021-09-01 11:04:29 · 197 阅读 · 0 评论 -
机器人仿真
一、URDF1.link标签<link name="***">----为连杆命名 <visual>-----描述外观 <geometry>------设置连杆的形状 <box size="长 宽 高" />------长方形 <cylinder radius="半径" length="高度" />-----圆柱型 <sphere radi原创 2021-08-27 17:56:09 · 140 阅读 · 0 评论 -
Gazebo中编译功能包时的错误
解决办法:在终端中输入以下命令即可sudo apt-get install ros-kinetic-gazebo-ros-pkgs ros-kinetic-gazebo-ros-control原创 2021-08-27 17:01:11 · 260 阅读 · 0 评论 -
ROS常用组件
一、tf坐标变换1.静态坐标变换功能实现:发布一个基坐标和子坐标,指明二者关系,在任意给一个相对子坐标的坐标,换算出他相对基坐标的坐标值。第一步:创建功能包catkin_create_pkg tf01_static roscpp rospy std_msgs tf2 tf2_ros tf2_geometry_msgs geometry_msgs第二步:CMakelist文件编写cmake_minimum_required(VERSION 3.0.2)project(tf01_s原创 2021-08-26 20:21:22 · 631 阅读 · 0 评论 -
sscanf()和sprintf()函数
一、sscanf()函数# include <iostream># include <string>using namespace std;int main (){ //%*d跳过数据 string str1="12345abcde"; string str2; sscanf(str1,"%*d",str2); cout<<str2<<endl;//输出abcde sscanf(str1,"%*原创 2021-08-26 15:49:24 · 116 阅读 · 0 评论 -
ROS通信——C++实现
一、普通话题通信二、自定义话题通信原创 2021-08-26 15:48:58 · 2337 阅读 · 0 评论 -
ROS深入
一、ros::init()ros::init(argc, argv, "publish", ros::init_options::AnonymousName);第一个参数:终端输入参数的个数,例如输入"rosrun ** ** 100 200",则argc为3.第二个参数:以数组的形式保存终端输入的命令,例如输入"rosrun ** ** 100 200",则argv[0]为当前所执行的文件,argv[1]为100,argv[1]为200。第三个参数:节点发布时的名字第四个参数:原..原创 2021-08-26 15:48:29 · 623 阅读 · 0 评论 -
ROS运行管理机制
阿原创 2021-08-26 15:47:35 · 230 阅读 · 0 评论 -
ros中小乌龟相关的命令
1、小乌龟启动指令rosrun turtlesim turtlesim_node2、键盘控制指令rosrun turtlesim turtle_teleop_key原创 2021-08-26 10:26:49 · 712 阅读 · 0 评论 -
报错“stray ‘\357’ in program”
原因:输入类中文的标点符号原创 2021-08-26 15:47:59 · 441 阅读 · 0 评论 -
ROS常用命令
一、rosnode命令命令 含义 rosnode list 显示当前运行的节点 rosnode ping 节点名 测试节点是否正常工作 rosnode info 节点名 显示节点的详细信息 rosnode machine 设备名 显示某一台设备上的运行的节点 rosnode kill 节点名 结束某一个节点 二、rostopic命令命令 含义 rostopic list 显示当前运行的话题 rostopic echo .原创 2021-08-24 20:20:15 · 124 阅读 · 0 评论 -
解决ROS输出中文时的乱码问题(只能在ROS中使用)
解决方案:在函数的开头加入下面的代码的任意一句即可setlocale(LC_ALL, "")setlocale(LC_CTYPE, "zh_CN.utf8")原创 2021-08-23 21:13:46 · 1997 阅读 · 0 评论 -
stringstream常见用法介绍
一、数据类型转换这里展示一个代码示例,该示例介绍了将 int 类型转换为 string 类型的过程。示例代码如下:#include <string>#include <sstream>#include <iostream>#include <stdio.h> using namespace std; int main(){ stringstream sstream; string strResult; int原创 2021-08-23 20:13:17 · 774 阅读 · 0 评论 -
OpenCV中的RNG随机函数用法
一、产生一个随机数# include "opencv2/opencv.hpp"using namespace cv;int main (){ RNG rng; int a=rng;//产生一个随机数 return 0;}二、产生范围的随机数# include "opencv2/opencv.hpp"using namespace cv;int main (){ RNG rng; int a=rng.uniform(1,10);//原创 2021-08-16 16:06:00 · 1209 阅读 · 0 评论 -
sprintf()函数和sscanf()函数
qq原创 2021-08-10 21:56:41 · 128 阅读 · 0 评论 -
ROS下使用OpenCV时的环境配置
在CMakeLists.txt末尾加上:find_package(OpenCV)include_directories(${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS})add_executable(talker src/talker.cpp)target_link_libraries(talker ${OpenCV_LIBS})target_link_libraries(talker ${catkin_LIBRARIES})...原创 2021-08-10 20:57:21 · 949 阅读 · 0 评论 -
OpenCV学习笔记
Mat image;image.empty();//判断是否为空image.rows;//获取图像行数image.cols;//获取图像列数image.channels();//获取图像通道数image.depth();//获取图像位深度VideoCapture vc;vc.open();//打开视频文件或者摄像头文件vc.isOpened();//判断视频是否正确打开vc.release();//释放视频...原创 2021-08-10 20:54:02 · 1814 阅读 · 0 评论 -
C++运算符重载
一、+号运算符重载# include <iostream>using namespace std;class student{ public: int age; int weight; //第一种方法:成员函数 // student operator+ (student stu)// {// student stu1;// stu1.age=stu.age+age;// stu1.weight=stu.weight+weigh原创 2021-08-09 19:16:58 · 120 阅读 · 0 评论 -
Devc++如何实现多行同时注释
方式:Ctrl+/ 实现多行同时注释,再次Ctrl+/实现取消注释原创 2021-08-09 15:39:21 · 5045 阅读 · 0 评论 -
STL之算法
一、for_each()遍历算法# include <iostream># include <vector># include <algorithm>using namespace std;void printf_01 (int a){ cout<<a<<" ";}class printf_02{ public: void operator ()(int a) { cout<<a<原创 2021-08-08 21:10:50 · 162 阅读 · 0 评论 -
STL内建函数对象
一、算数仿函数# include <iostream># include <functional>//使用这个必须包涵头文件using namespace std;int main (void){ plus<int>p;//加法 cout<<p(1,2)<<endl; negate<int>q;//取反 cout<<q(10)<<endl; minus<int>m;原创 2021-08-07 22:04:56 · 53 阅读 · 0 评论 -
谓词的简介
一、一元谓词//函数对象(仿函数)返回值为bool类型时,仿函数称为“谓词” # include <iostream># include <vector># include <algorithm>using namespace std;class compare{ public: bool operator ()(int i)//只有一个参数称为“一元谓词” { return i>5; } };int main (原创 2021-08-07 21:28:24 · 120 阅读 · 0 评论 -
函数对象(仿函数)
基本用法:# include <iostream># include <string>using namespace std;//第一种用法:函数对象(仿函数)在使用时可以向普通函数那样有返回值,形参等class student{ int operator()(int a,int b) { return a+b; }};int main (void){ student stu; cout<<原创 2021-08-07 20:47:11 · 85 阅读 · 0 评论 -
C++随机数
模板:# include <iostream># include <ctime> //time()函数所在库(或者"time.h")# include <stdlib.h> //rand()函数和srand()函数所在库using namespace std;int main ( ) { //srand()函数传入一个随机种子,将time()时间函数作为随机种子保证每次数值不一样 //srand()函数程序中只需运行一次即可 srand ( t原创 2021-08-26 15:49:54 · 50 阅读 · 0 评论 -
STL容器总结
一、vector(相当于数组,但可以动态分配空间)1.vector的构造函数(1)直接构造# include <vector>vector<int> v;(2)# include <vector>vector<int> v2(v1.begin(),v1.end());//将v1全盘复制给v2(3)# include <vector>vector<int> v(10,100);//在v中插入10个1原创 2021-08-06 17:57:29 · 271 阅读 · 0 评论 -
Signal ()函数详细介绍
一、功能对某一信号进行相应的反应 二、用法(1)包含头文件# include <signal.h>(2)函数原型signal(参数一,参数二 );(3)参数解释参数一:一般情况下是SIGINT,由Interrupt Key产生,通常是CTRL+C或者DELETE。发送给所有ForeGround Group的进程参数二:有三种情况1.(1)SIG_IGN 这个符号表示忽略该信号。#include <iostream&...原创 2021-08-06 15:46:30 · 3285 阅读 · 0 评论