- 博客(17)
- 收藏
- 关注
原创 一文讲透c++中std::move
std::move是C++11提供的一个函数模板,它可以将一个左值转换为一个右值引用,从而可以触发移动语义。使用std::move可以提高性能和避免不必要的拷贝。但是也要注意不要滥用std::move,因为它可能会导致一些问题:使用std::move后的对象可能会处于一种未定义或者无效的状态,不能再进行正常的操作。使用std::move可能会阻止编译器进行一些优化,比如返回值优化。使用std::move可能会破坏类的封装性和异常安全性。
2023-03-20 15:22:58
2466
原创 【C++工具篇】如何使用vscode进行c++代码断点调试
背景:vscode作为强大的IDE,如何进行断点调试?gdb断点调试允许步进、内部变量参数观察,是强大的代码调试工具。
2023-02-21 15:37:30
8306
2
原创 【C++中级篇】gtest的使用方法及cmake配置
在一项c++工程中,会存在很多类,很多功能方法,如果每个对外的接口方法都通过在业务中发现问题,是一件相当糟糕的事儿,而且效率低下。如果针对每个接口都设计一个主函数进行验证,需要运行很多程序,为解决这个问题,单元测试模块应运而生,本期探讨下由google开发的单元测试模块gtest的使用方法。
2023-02-17 13:33:29
4135
原创 c++ 类默认构造函数
在c++工程中,当用户新设计一个类的时候,编译器会给类生成默认的一些函数和运算操作符,以满足大部分使用过程中的操作,今天总结一下,以免忘记。下面用测试用例来说明每个函数的被调用情况。下面用代码进行展示如果重写的格式。
2023-01-12 12:59:08
2179
原创 【c++11】auto与decltype
c++11引入auto与decltype的关键字,目的是为了简化程序员的开发工作量,将重心转移到算法设计与业务开发中,不得不感叹编译器越来越强大!话不多说,先总结吧! 作用:让编译器在编译期间可以自动推导出变量或者表达式类型。 auto auto可以让编译器在编译阶段推导出变量的类型,但是前提是,能从返回值或者隐身条件下看出此变量类型是什么,如果作为程序员自己看到代码都不清楚类型是什么,当然编译器也不清楚,自然推导就失效了。auto a...
2021-10-11 16:13:48
267
原创 圆弧点计算方式-c++代码
轨迹规划中,常用到圆弧点的计算,已知一个轨迹点的坐标(x,y,theta),求这个点以R为半径,向前走len米的距离,产生的新数据点的坐标。好,接下来确认下输入输出:输入为:起点坐标x,y,theta,半径R,向前走len距离输出为:终点坐标:X,Y,Thetas#include <iostream>#include <math.h>#include <cmath>#include <vector>//角度归一 将角度转化为 -M_P
2021-03-10 20:15:57
2921
2
原创 Ubuntu 解决 /usr/bin/ld: cannot find -lstdc++问题
/usr/bin/ld: cannot find -lstdc++collect2: error: ld returned 1 exit statusMakefile:437: recipe for target 'hs071_f' failedmake[2]: *** [hs071_f] Error 1make[2]: Leaving directory '/mnt/d/code/lib/source/Ipopt-3.12.7/build/Ipopt/test'Makefile:1063: r.
2021-03-09 16:26:19
2028
原创 Apollo control 模块源码解析
Apollo control模块接收车辆的底盘(chassis),定位(localization),行驶轨迹(planning)信息,输出车辆的控制信息(SteeringWheelAngle,acceleration,throttle)等信息. 首先,控制模块的入口还是在modules/control/main.cc下,使用APOLLO_MAIN(Apollo::control...
2018-08-05 09:03:51
8390
4
原创 Apollo control 模块源码解析
严正声明:本文系作者yue597215286原创,未经允许,严禁转载!Apollo control模块接收车辆的底盘(chassis),定位(localization),行驶轨迹(planning)信息,输出车辆的控制信息(SteeringWheelAngle,acceleration,throttle)等信息. 首先,控制模块的入口还是在modules/contro...
2018-08-04 10:57:47
1080
原创 Carsim中坐标系
carsim中地图坐标系:为惯性坐标系,yaw的角度是以x轴为0°,逆时针为正,范围0~360°。车辆的起始位置为路径上的第一个点(默认是,可以修改),但是航向角默认不是0.,是跟随路径变化的,默认起步状态下车辆航向与路径的航向相同,以下为自己设计的路径和输入方向盘为0°时的航向角变化:上图为自己设计的路径上图为航向角变化,输入为0°,发现航向角的初始值为106度左...
2018-07-28 15:08:44
6901
5
百度Apollo 中纵向控制源码解析
严正声明:本文系作者yue597215286原创,未经允许,严禁转载! 上篇博文中,我们主要介绍了control模块的入口和车辆横向控制的介绍,有兴趣的可以参考链接Apollo control 模块源码解析 此篇博文,我们主要介绍下Apollo内部的纵向控制代码和原理解析: 话不多少,首先我们需要看的源代码为modules/control/controller/lon_contr...
2018-05-07 14:01:40
6753
2
转载 TF库的使用
1)tf不是坐标变换那么简单。很多小伙伴认为tf的作用是便捷的进行坐标变换。这个没错,但没这么简单。在很多api中,存在着target frame,source frame,parent frame,child frame,这些名字的参数。看起来很让人糊涂,也很让让人烦,但里面隐藏着很多信息。source、target frame是在进行坐标变换时的概念,source是坐标
2017-08-28 10:11:13
638
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人