gpt4 book ai didi

c++ - 是否可以初始化 const Eigen 矩阵?

转载 作者:可可西里 更新时间:2023-11-01 17:25:37 28 4
gpt4 key购买 nike

我有以下类(class):

class Foo
{
public:
Foo(double a, double b, double c, double d, double e)
// This does not work:
// : m_bar(a, b, c, d, e)
{
m_bar << a, b, c, d, e;
}

private:
// How can I make this const?
Eigen::Matrix<double, 5, 1, Eigen::DontAlign> m_bar;
};

如何使 m_bar 成为常量并将其宽度 a 初始化为 f 作为构造函数中的值? C++11 也可以,但 eigen 似乎不支持初始化列表...

最佳答案

自上课以来我看到的最简单的解决方案 defines a copy constructor :

class Foo
{
public:
Foo(double a, double b, double c, double d, double e) :
m_bar( (Eigen::Matrix<double, 5, 1, Eigen::DontAlign>() << a, b, c, d, e).finished() )
{
}

private:
const Eigen::Matrix<double, 5, 1, Eigen::DontAlign> m_bar;
};

关于c++ - 是否可以初始化 const Eigen 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159349/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com