Из таблицы MultiView связанных типов :
reference Это ссылочный тип содержащегося значения.Если NumDims == 1, то это элемент &.В противном случае это тот же тип, что и у шаблона subarray :: type.
template array_view :: type Это тип представления с измерениями Dims.Возвращается вызывающим оператором.Он моделирует MultiArray.
, поэтому для начала это разные типы.В этом контексте представления представляют собой своего рода коллекцию MultiArray.Они реализуют концепцию MultiArray, но содержащиеся в них элементы фактически являются элементами некоторого другого MultiArray.Представления позволяют определить новый index для элементов MultiArray.Например, вы можете определить представление, которое переворачивает индекс, так что первый элемент представления является последним элементом MultiArray.Из документации :
Представление позволяет обрабатывать подмножество базовых элементов в MultiArray, как если бы это был отдельный MultiArray.Поскольку представление ссылается на те же базовые элементы, изменения, внесенные в элементы представления, будут отражены в исходном MultiArray.
MultiArrays определяются рекурсивно;MultiArray измерения n > 1 можно рассматривать как массив MultiArrays измерения n -1, которые являются подмассивами.Основное различие между подмассивом и представлением состоит в том, что вы можете нарезать MultiArray на представления более низких размеров вдоль любой оси, включая основную ось, но подмассивы нельзя разрезать вдоль главной оси.Не верьте, что есть существенное различие в производительности, хотя это зависит от того, какой тип индекса вы используете при создании представления.Представления могут быть немного менее производительными, но не в широком смысле.