1、吉利研究院
一面:
-
最优化方法:梯度下降、高斯牛顿、lm方法比较
-
orbslam2框架,BA作用
-
orbslam3是否了解
-
Covisilibilty Graph与Essential Graph ,共视图和本质图
-
项目、项目是否还能做改进(接下来就是我最难受的部分:c++八股)
-
堆和栈区别
-
malloc new的区别
-
static作用
-
空间分配
-
STL vector list区别
-
重载和重写
-
const 和 define区别
-
析构和构造函数
八股还是得好好背啊!!!!
不难但是八股不行,得背,估计无了。
c++新建三维数组:
使用Eigen包,Eigen:Vector
#include "Eigen/Core"
#include <iostream>
using std::cout;
using std::endl;
int main()
{
Eigen::Matrix<double, 2, 2> m; # 创建double类型的2X2维矩阵
m << 1, 2, 3, 4; # 为每个元素赋值
Eigen::MatrixXf m1(2, 3); # 创建动态矩阵,并初始化为2X3矩阵,类型为float
m1 << 1, 2, 3, 4, 5, 6;
Eigen::Matrix3d m2 = Eigen::Matrix3d::Identity(); # 3维double类型的单位矩阵
Eigen::Matrix3d m3 = Eigen::Matrix3d::Random(); # 3维double类型的随机矩阵
Eigen::Vector3f v1 = Eigen::Vector3f::Zero(); # 3维float类型的零向量(默认为列向量,除非显式指定)
Eigen::Vector3d v2(1.0, 2.0, 3.0); # 3维double类型的向量,并赋值
Eigen::VectorXf v3(3); # 动态列向量,指定为3维
v3 << 1.0, 2.0, 3.0;
Eigen::RowVector2d rv1(1, 2); # 2维行向量,并赋值
Eigen::RowVectorXd rv2(5); # 动态行向量,初始化为5维
rv2 << 1, 2, 3, 4, 5;
cout << m1(1, 1) << endl; # 输出指定位置的值
cout << v1(1) << endl;
return 0;
}