C++ 包装特征::向量类型

C++ 包装特征::向量类型,c++,eigen,C++,Eigen,我正在开发一个神经网络库,我想用Eigen来处理模型背后的向量和矩阵数学,但我被告知我不应该在最终的api中公开Eigen类型,所以,因为网络基本上将向量作为输入,返回向量作为输出,我正在考虑创建一个类(可能是张量)它包装了Eigen::VectorXf,但我真的不知道如何在对这样的张量进行操作时保持本征优化 有没有办法做到这一点,或者我应该改变我的方法 例如,OpenNN库也使用了Eigen(我认为),它的张量类型是从std::vector继承而来的,我还没有发现它是如何转换为Eigen的(可

我正在开发一个神经网络库,我想用Eigen来处理模型背后的向量和矩阵数学,但我被告知我不应该在最终的api中公开Eigen类型,所以,因为网络基本上将向量作为输入,返回向量作为输出,我正在考虑创建一个类(可能是张量)它包装了Eigen::VectorXf,但我真的不知道如何在对这样的张量进行操作时保持本征优化

有没有办法做到这一点,或者我应该改变我的方法


例如,OpenNN库也使用了Eigen(我认为),它的张量类型是从std::vector继承而来的,我还没有发现它是如何转换为Eigen的(可能涉及Map?

我认为在Eigen类型周围写一个薄包装器的唯一原因是,如果您需要在以后更改实现的灵活性


如果你没有这个要求,你应该公开特征类型。这是一个您的用户将熟悉的API,您将避免在您的类型和本征张量之间进行任何不必要的转换(副本)。

“但有人告诉我,我不应该在最终的API中公开本征类型”
…为什么?如果只使用本征::VectorXf真的没问题,那么我比您高兴太好了,你能把它写下来作为答案吗?这样我就可以把它标记为解决方案了?