我正在使用
Eigen::Matrix<std::optional<int>>
,但我不知道如何初始化它。
对于数字类型,
Matrix::Zero()
效果很好,但是当我使用std::optional
时,我想初始化为std::nullopt
而不是0
。
是否可以这样做?如果可以,该怎么做?
不要使用
Matrix::Zero()
,而使用 Matrix::Constant(std::nullopt)
。
@Nimrod 开始在评论中回复:
Eigen::Matrix<std::optional<int>, 3, 3> matrix;
matrix.setConstant(std::nullopt);
setConstant
,我们看到还有一个Constant
工厂函数:
auto matrix = Eigen::Matrix<std::optional<int>, 3, 3>::Constant(std::nullopt);