【问题标题】:Eigen Dynamic matrices size特征动态矩阵大小
【发布时间】:2016-02-13 04:58:18
【问题描述】:

假设有以下代码:

cout<< sizeof(Eigen::Matrix<double, -1, -1 , 0 , 10, 10>)<<endl;
cout<< sizeof(Eigen::Matrix<double, -1, -1>)<<endl;

第一行输出 3664 字节,第二行输出 24 字节。

我试图理解为什么指定最大尺寸会导致这种情况?

计算机架构是 x64。

【问题讨论】:

    标签: eigen


    【解决方案1】:

    嗯,您可能犯了复制粘贴错误,因为正如预期的那样,我得到:

    816
    24
    

    确实,正如 Eigen::Matrix 的文档中所解释的那样,在您的情况下,将编译时的最大大小指定为以下结构:

    struct {
      double data[10*10]; // 800 Bytes
      long rows, cols;    // 16 Bytes
    };
    

    【讨论】:

      猜你喜欢
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 2016-11-29
      相关资源
      最近更新 更多