std::pair存放double和eigen::isometry
时间: 2023-07-02 16:14:44 浏览: 159
可以使用 `std::pair` 存放 `double` 和 `Eigen::Isometry3d` 类型的对象,用法如下:
```cpp
#include <iostream>
#include <utility>
#include <Eigen/Geometry>
int main() {
double d = 1.23;
Eigen::Isometry3d T;
T.linear() = Eigen::Quaterniond(0.707, 0, 0.707, 0).toRotationMatrix();
T.translation() << 1, 2, 3;
std::pair<double, Eigen::Isometry3d> pair(d, T);
std::cout << "d: " << d << std::endl;
std::cout << "T: " << std::endl << T.matrix() << std::endl;
std::cout << "pair.first: " << pair.first << std::endl;
std::cout << "pair.second: " << std::endl << pair.second.matrix() << std::endl;
return 0;
}
```
在上述示例中,首先定义了一个 `double` 类型的对象 `d` 和一个 `Eigen::Isometry3d` 类型的对象 `T`,然后使用 `std::pair` 存放这两个对象,最后输出这两个对象以及 `std::pair` 中的两个元素。
注意,在使用 `std::pair` 存放不同类型的对象时,需要按照顺序指定它们的类型。在本例中,`double` 类型的对象是第一个,`Eigen::Isometry3d` 类型的对象是第二个。
阅读全文