[英]Uniform initialization with Eigen dynamic types
我正在尝试学习Eigen C ++库,并想知道是否存在一些用于初始化动态向量和矩阵的简便方法。 像使用std::vector
编写类似的东西会非常好
std::vector<int> myVec = {1,2,3,6,5,4,6};
即
VectorXi x = {1,2,3,4,7,5,7};
我能找到的最接近(丑陋)的等效项涉及Map
。 。
int xc[] = {2,3,1,4,5};
Map<VectorXi> x(xc,sizeof(xc)/sizeof(xc[0]));
还有哪些其他初始化方法?
对于固定大小的矩阵/向量,可以使用逗号初始值设定项:
Matrix3f m;
m<<1,2,3,4,5,6,7,8,9;
我目前无法对其进行测试,但是对于您的情况,它应该具有类似的功能:
VectorXi x(5);
x << 2,3,1,4,5;
如果没有,则可以使用一个临时Vector,使用逗号初始化程序将其填充五个元素,然后将其分配给VectorXi。
编辑:您可能也对此页面感兴趣: 特征:高级初始化
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.