2

引数として固有行列を取る関数がある場合、次の違いは何ですか:

void foo(Eigen::MatrixXd& container){
    for(i=0;i<container.rows();i++){
        for(j=0;j<container.cols();j++){
            container(i,j)=47;
        }
    }
}

void foo(Eigen::MatrixXd* container){
    for(i=0;i<container->rows();i++){
        for(j=0;j<container->cols();j++){
            container->coeffRef(i,j)=47;
        }
    }
}

Eigen のドキュメントでは、最初の方法しか提示されていません。つまり、そのアプローチには利点があるということですか? constそして、最初のケースで Matrix 参照を渡すときに使用しないことの欠点は何ですか?

4

3 に答える 3