преобразовать тип ячейки MATLAB в c ++ - PullRequest
5 голосов
/ 10 февраля 2012

Я преобразую программу MATLAB в c ++, используя Armadillo для матричной алгебры.

Я застрял в ячейке типау кого-нибудь есть намеки?

Ответы [ 3 ]

3 голосов
/ 10 февраля 2012

Это потому, что «ячейка» на самом деле не является типом - это заполнитель для всего, что вы хотите поместить в нее.Самая близкая вещь, которую я могу придумать в таких языках, как C # и Python, - это «кортеж», который по сути может содержать анонимные типы.

Поскольку C ++ не имеет встроенного типа кортежа, я предлагаю вам взглянуть на Boost , который является очень всеобъемлющей, зрелой и открытой библиотекой практически для всего, что вам нужно.в C ++.В разделе Boost посмотрите на библиотеку Fusion или, если вам нужно что-то не простое, на библиотеку Tuple .

EDIT какMatt, упомянутый ниже, начиная с TR1, кортежи являются частью стандартной библиотеки C ++.Смотрите ссылку Мэтта здесь .

1 голос
/ 11 февраля 2012

Армадилло имеет поле класс!

1 голос
/ 10 февраля 2012

Ваши данные в ячейках, скорее всего, будут довольно хорошо транслироваться в объект C ++. Я бы порекомендовал вам проверить, что содержится в ваших клетках, и посмотреть, сможете ли вы представить его как класс. Тогда вы сможете создавать векторы / массивы / матрицы ваших объектов и обрабатывать их аналогично ячейкам в MATLAB.

...