Понимание параметров Boost MultiArray - PullRequest
1 голос
/ 12 мая 2011

Это из Boost docs и компилируется без проблем.

#include "boost/multi_array.hpp"

int main () {
    // Create a 3D array that is 3 x 4 x 2
    typedef boost::multi_array<double,3> array_type;
    typedef array_type::index index;
    array_type A(boost::extents[3][4][2]);
    return 0;
}

Мой вопрос: какой второй параметр шаблона? Из документации мне не понятно. Этот код будет компилироваться, только если он установлен на 3.

Ответы [ 3 ]

2 голосов
/ 12 мая 2011

Сколько вам нужно измерений?

boost::extents[3][4][2] // we use 3 dimensions

Так что если вы измените это число, вам придется изменить эту строку на.

1 голос
/ 12 мая 2011

Это номер измерения массива:

, который вы изменили соответственно вызову ctor:

array_type A(boost::extents[3][4]);
1 голос
/ 12 мая 2011

Это «Числовое измерение», т. Е. Количество измерений в вашем массиве: три, потому что у вас есть три индекса на вашем boost::extents.

...