boost::multi_array_ref 对比 boost::multi_array&

boost::multi_array_ref vs. boost::multi_array&

是否有理由更喜欢使用 boost::multi_array_ref 而不是 boost::multi_array&?为什么适配器 class boost::multi_array_ref 完全由 boost 提供?

那将是两件完全不同的事情。 boost::multi_array& 是一个可以绑定到已经存在的多数组的引用,您可以使用它来间接指向 'true' 多数组容器。

另一方面,boost::multi_array_ref 是一个 适配器 - 它允许将它与任何其他连续数据块一起使用,就好像它是一个多数组一样(而事实上它不是)。 (我个人认为这不是一个好名字,因为它暗示了对容器的引用)

有关详细信息,请参阅 https://www.boost.org/doc/libs/1_73_0/libs/multi_array/doc/reference.html