如何将本征库(C++)中的布尔数组初始化为特定的真值?数值矩阵有初始化器,但我找不到布尔数组的示例(特征::数组)。
发布于 2014-11-13 00:34:51
另一个答案是正确的,但为了完整起见,请允许我补充如下:
#include <Eigen/Dense>
using namespace Eigen;
typedef Array<bool,Dynamic,1> ArrayXb;
ArrayXb a = ArrayXb::Constant(5,true);
ArrayXb b(5);
b.setConstant(true); // no-resizing
b.fill(true); // alias for setConstant
b.setConstant(10,true); // resize and initialize
Array<bool, 5, 1> c(true);
在最后一种情况下,因为这里的大小是在编译时已知的,所以参数被解释为初始化值。
发布于 2014-11-12 22:01:45
如果您试图将整个数组初始化为true
或false
,那么下面这样的内容如何:
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main()
{
Array<bool, 1, 5> false_array(5);
false_array = Array<bool, 1, 5>::Zero(5);
Array<bool, 1, 5> true_array(5);
true_array = Array<bool, 1, 5>::Ones(5);
return 0;
}
发布于 2014-11-12 21:35:51
如果我正确地理解了你的要求,那么这个计划就奏效了
Eigen::Array<bool,1,5> v;
v << true, true, false, true, true;
https://stackoverflow.com/questions/26901622
复制相似问题