C ++ typedefs (из MATLAB) - PullRequest
       11

C ++ typedefs (из MATLAB)

0 голосов
/ 24 июня 2011

Я просматриваю некоторый код C ++, сгенерированный MATLAB, и наткнулся на это:

typedef char char_T
typedef char_T byte_T

Что именно делает этот код и какова его цель?

Ответы [ 2 ]

5 голосов
/ 24 июня 2011

Я думаю, вы спрашиваете о причине, по которой генератор кода MATLAB выплевывает эти, казалось бы, лишние определения типов.Вероятная причина в том, что MATLAB хочет тип, который представляет байты для своего кода, но он не уверен, что этот тип в вашей конкретной системе и архитектуре.Затем он, вероятно, имеет специфическую для системы заглушку, которая сопоставляет свои собственные типы с чем-то разумным, а затем общую часть, которая использует эти ранее установленные типы.

1 голос
/ 24 июня 2011

Итак, основная теорема программирования гласит, что любую проблему можно решить, добавив еще один уровень косвенности.Гипотетическая цель typedef состоит в том, чтобы использовать char_T везде, и если, скажем, однажды кто-то решит изменить «тип байта» на, скажем, unsigned char, он изменит его на

typedef signed char charT

, и естьНе нужно искать каждое место, где вы использовали char, и менять вручную.

...