• c++函数传参

    函数传参有两种形式 传值 传引用 传递值参数传入,进行了一次拷贝,拷贝到了x里面,然后+10,最后返回,返回的过程也是对x的一次拷贝,所以一共俩次拷贝 所以对num1不会有任何的影响 123456789int foo(int x) { ...
  • Python 可迭代对象与迭代器

    定义一个可迭代对象Python中的Iterable译为可迭代对象,在一个类中,只要定义了一个__iter__,那么他就是一个可迭代对象 1234567from collections.abc import Iterable, Iterator cl...
  • 数据结构

    Array数组长度,下面的情况,数组长度只有在程序运行的 时候才可以确定,在编译的时候是不确定的 123456int len = 1;while (len < 10){ int num[len]; len ++;} 注意,边...
  • loops and 条件语句

    三目运算符转换1factor = isPositive ? 1 : -1; 等价于 1234if (isPositive) factor = 1else factor = -1 等价于 1factor = is...
  • 数据类型

    编译分开编译链接1g++ -c main.cpp -c 表示只编译,生成一个目标文件 main.o 1g++ -c mul.cpp -c 表示只编译,生成一个目标文件 mul.o 1g++ main.o mul.o -o mul 表示链接 一次性编译...
  • 最好的gimbal lock讲解

    https://krasjet.github.io/quaternion/bonus_gimbal_lock.pdf gimbal lock 万向锁:他锁的是三维旋转的其中一个维度。如果某一个维度的旋转恰好和其他维度重合了,那么其中一个维度的旋转就失...
  • absl::optional 使用

    absl::optional 是一个可有可无的数据结构, 声明下面这一行表示声明了一个模板类型为double的变量 1absl::optional<double> last_thread_cpu_time_seconds_; 使用has_...
  • 雷达数据处理

    消息回调接受数据 经过sample过滤 转换为点云,形式 \begin{bmatrix} TimedPointCloud \\ std::vector \end{bmatrix} = \begin{bmatrix} [x_0,y_0,...
  • 点云前端-LIOSAM

    该节针对于图像投影节点 把整个点云转到cv_Mat上,方便做后续的处理 构造函数topic 订阅发布订阅 imu消息 增量的odom 点云的消息 发布 运动补偿后的点云 点云的相关信息 123456subImu = nh.sub...
  • imu预积分代码解析

    LIOSAM一共四个src文件,本节我们要讨论的文件为imuPreintegration.cpp, 函数入口123456789101112131415int main(int argc, char** argv){ ros::init...