- 博客(77)
- 收藏
- 关注
原创 Ubuntu 20.04 安装ros update报错
E: The repository 'http://mirrors.ustc.edu.cn/ros/ubuntu kylin Release' does not have a Release file.
2022-12-01 13:33:51
783
原创 解决vscode c++ 无法跳转代码(区别于大部分网上的解决方案)
首先,请先确保你的vscode 安装了以下两个个插件:C++ Intellisense 用于跳转代码。然后,说一下我为什么会出现vscode c++的代码无法跳转的问题,本人有两个电脑,经常会使用两台电脑远程到服务器调试代码,结果出现了vscode c++的代码无法跳转的问题,甚至很多小插件都需要重新加载。其实核心问题是:本地的插件版本和服务器的插件版本不一致!!!!当你意识到这个问题,其实类似的问题全部都迎刃而解了。举例子:以下是我服务器安装的一些插件,并且需要我.
2022-05-26 16:36:30
8472
1
原创 ubuntu18.04 安装搜狗输入法
先说一下问题,我重装了Ubuntu18.04系统,相当于是第一次安装搜狗输入法,去官网下载linux最新的安装包,按照网上的教程全部配置了一遍,然后发现打不了中文。最终我在这篇文章下,换了一个搜狗输入法的安装包,没用官网最新的。不要下载官网最新的!!安装搜狗输入法可以参考这个链接Ubuntu18.04安装搜狗输入法-问题全讲解_幻心矢的博客-优快云博客_ubuntu18.04 安装搜狗输入法我这里直接挂一下下载搜狗输入法的包复制到浏览器就能下载http://cdn2.ime.so
2022-04-29 14:07:12
1109
原创 结构体嵌套空指针,空指针强制转其它类型并访问成员变量
#include <iostream>using namespace std;struct test1 { void * a1;};struct test2{ int a2 = 10; int a3 = 20;};int main() { //结构体和结构体成员变量中的指针需要分别初始化 test1 h1; //初始化结构体test1 h1.a1 = new test2; //初始化空指针a1分配内存的大小为结构体test2所占.
2022-02-10 16:49:36
1066
2
原创 结构体构造函数学习
结构体是特殊的 类。参考链接:结构体和类的区别_u011555996的博客-优快云博客_结构体和类的区别看如下代码:#include <iostream>using namespace std;//使用默认构造函数 struct student { int id; char gender;}pig; //能不经初始化就定义变量 int main(){ pig = {23,'F'};//使用该语句必须整体赋值,不能单独赋值 cout <<
2021-11-15 16:23:27
581
原创 关键字explicit学习
1.初始化表达式在了解explicit之前,看一段代码#include <iostream>using namespace std;class Test1{public : Test1(int a1):a(a1){}private: int a;};int main(){ Test1 t1 = 12; Test1 t2(13); return 0;}这段代码中Test1构造函数的声明用的冒号表示的是初始化表达式。参考连接:C++.
2021-11-15 14:51:16
1828
原创 构造函数重载
#include <iostream>#include <vector>#include <algorithm>#include <string>#include <memory>using namespace std;//测试构造函数重载class test1 { public: test1 (int a, int b) { cout << "a: " <<.
2021-11-11 15:15:31
183
原创 智能指针学习
#include <iostream>#include <vector>#include <algorithm>#include <string>#include <memory>using namespace std;int main(){ shared_ptr<int> p1; cout << "p1: " << p1 << endl; //0 shared.
2021-11-11 15:09:07
565
原创 template<class, class>模板参数为两个类
#include <iostream>using namespace std;class IntClass { public: void IntFunction() { cout << "IntFunction" << endl; };};class DoubleClass { public: void DoubleFunction() { cout << "DoubleFunction.
2021-11-03 11:36:49
942
原创 引用的理解
#include <iostream>using namespace std;int main(){ //b作为a的引用,其值和地址和a一样。 int a = 10; int& b = a; cout << "a: " << &a << endl; cout << "b: " << b << endl; cout << "b: " << &b .
2021-11-03 10:36:09
166
原创 const成员函数
只能在类中使用const成员函数。class A { public: void test() const { cout << "123" << endl; };};int main(){ A a; a.test(); return 0; }
2021-11-02 16:54:25
119
原创 类模板的理解
创建一个比较大小的类,因为int和float数据类型不一样,要创建两个类来进行比较,代码如下图所示,可以使用类模板来创建一个功能相同,仅仅数据类型不同的类模板。#include <iostream>using namespace std;class Compare_float{ public : Compare_float(float a,float b) {x=a;y=b;} float max( ) {return (x>y)?x:y;}
2021-11-02 16:24:12
406
原创 函数模板和类模板的学习
#include <iostream>using namespace std;template <typename T>T add(const T & a, const T & b){ T c = a + b; return c;} //创建只有一个类型参数的函数模板template <typename T1, typename T2>T1 add2(const T1 & a, const T2 & b) {.
2021-11-02 11:47:56
302
原创 函数值传递,指针传递,引用传递
函数的值传递,指针传递,引用传递。int a = 10;//创建一个变量a,这里其实变量a的属性包含两部分,地址0x1234和值10;//可以把地址0x1234视为访问值10的一个接口。//如果要修改变量a的值可以通过直接访问地址和间接访问地址的方式修改值10直接访问地址修改值10,如下:a = 20;间接访问地址修改值10的方式如下:int * b = &a; //将a的地址存入到指针变量b中。(*b)++;//解引用获取a的地址指向的值10,然后进行++操作。
2021-10-28 15:23:34
148
原创 设备ip字符串操作
#include <iostream>#include <string>int main(){ std::string ipA = "192.168.11.200"; //find_last_of 字符串从后往前查找与关键字最近的值,输出该值所在的位置数 //本文从后往前最近的 “ . ”在第10的位置,pos = 10 auto const pos = ipA.find_last_of('.'); //substr 字符串从输入的起始.
2021-10-27 10:42:13
741
原创 函数传参写法
#include <iostream>bool test(int a, int &b) { b = a + 5; return true;}int main(){ int e = 20; int c = 15; test(e, c); std::cout << "c: " << c << std::endl; return 0;}b作为形参传入的同时也被当做了输出。.
2021-10-27 09:59:41
135
原创 tmux使用
nvidia启动节点tmux下面启动节点ws_livox的节点要在ws_livox下面source一下。其它的在ros——traffic——arm下面source一下tmux new –s 1创建一个名字为1的session在名为1的session下创建新的窗口ctrl +B 松开 再按c在名为1的session下切换窗口ctrl +B 松开再按1或者2, 按相应数字键,就可以切换到相应的窗口了ctrl + B 松开再按d 使tmux在后台运行,tmux
2021-09-27 11:42:25
123
原创 docker学习
在特定文件夹下创建一个dockerdocker run -d -i -t --name roy -v /home/program/GpsMapProcess:/GpsMapProcess 0321942368c0 /bin/bash/home/program/GpsMapProcess:/GpsMapProcess将本地目录映射到docker目录0321942368c0使用的镜像--name roydocker名字为roy...
2021-09-14 17:32:57
100
原创 c++读取yaml文件
1. 安装yaml库安装yaml-cppyaml-cpp 是一个开源库,地址在 github 上,https://github.com/jbeder/yaml-cppyaml-cpp 默认构建的就是静态库,也就是 unix 类系统下的 .a 文件,如果你想构建动态库的话,就需要在 cmake 时指定。下载解压之后mkdir buildcd buildcmake -DYAML_BUILD_SHARED_LIBS=ON ..编译成功后,会生成库文件,你只需要将库文件和头文件拷贝到.
2021-09-14 08:47:56
9407
5
原创 c++调用.so库
1. g++进行编译并调用.so库目录/home/test_ws/src/文件1:test1.cpp#include <iostream>extern "C" void test(){ std::cout << "this is a test log" << std::endl;}文件2:main.cppextern "C" void test();int main(){ test();}g++ -std=c
2021-09-07 14:06:43
6043
原创 内网使用本机时间作为ntp服务端同步
首先下载ntpsudo apt install ntp修改配置文件sudo vim /etc/ntp.conf加粗的文字要注释掉# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for# more information.#pool 0.ubunt.
2021-09-05 22:46:20
662
原创 Livox 激光雷达时间同步
官方文档PTP没成功,用ptpd成功了,大致流程。ifconfig 查看网口 比如网口是 eno1ethtool -Teno1如果出现`hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)``hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)``hardware-recive (SOF_TIMESTAMPING_RX_HARDWARE)`说明可以进行硬件时间同步。sudo apt...
2021-09-02 16:21:18
6290
7
原创 虚函数的举例
父类和子类的同名同形参的函数,使用指针调用或者是直接调用,如果该函数在父类不是虚函数,那么无论那种方式调用,父类的同名函数都会覆盖子类。#include <iostream> using namespace std; class A { public: void print() { cout << "this is A" << endl; }};class B : ..
2021-09-01 09:26:00
384
1
原创 c++ 类学习
class 类名{ //访问修饰符有以下三个 public: //公共成员 protected: //保护成员 private: //私有成员 };
2021-08-31 10:21:04
100
原创 C++:alignas关键字的作用
https://www.jianshu.com/p/ce2e52719b4ahttps://blog.youkuaiyun.com/audi2/article/details/39103733
2021-08-30 15:17:13
394
原创 自定义命名空间的嵌套
举例创建一个包含学校信息的项目,以命名空间命名。框架如下1. 学校姓名:希望小学1.1 一年级一班1.1.1 小红1.1.2 小明1.1.3 小刚1.2一年级二班1.3一年级三班1.4一年级四班#include <iostream>#include <stdlib.h>namespace xiwangSchool{ void nameCout() { std::cout << "this...
2021-08-30 15:10:37
134
原创 ubuntu18.04安装opencv3.4.5(坑真多)
这里只安装了opencv-3.4.5没有安装opencv_contrib3.4.5。下面介绍安装流程:opencv下载官网:https://opencv.org/releases.html安装依赖包sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get in
2021-08-20 16:05:12
1370
原创 ros bag包指定话题转pcd格式
rosrun pcl_ros bag_to_pcd 2019-01-25-04-01-39.bag /sensor/lidar16/left/pointcloud pcd2019-01-25-04-01-39.bag (bag包名字)/sensor/lidar16/left/pointcloud(话题)pcd(将bag包转成pcd的文件存在名为pcd的文件夹下)
2021-07-25 19:22:33
930
原创 C++安装库
这里以安装libLAS为例,去github下载文件https://github.com/libLAS/libLAS在该文件下输入以下指令mkdir buildcd buildcmake ..makesudo make install主要流程就是上面几步。测试是否安装成功参考以下链接https://blog.youkuaiyun.com/weixin_43779943/article/details/102639516...
2021-07-25 19:06:10
1065
原创 c++请输入任意键继续
Windows系统用system("pause")linux用cin.get()这里需要注意,如果之前没有用过cin.get()只需要一个cin.get()就行,如果之前用过cin.get(),必须输入两边cin.get()才能有效果。如下方代码所示 cout << "请输入年龄: " << endl; int age = 0; cin >> age; abs->personArray[
2021-07-04 13:27:18
2690
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人