C ++ typedef(来自MATLAB)

时间:2011-06-23 20:13:12

标签: c++ matlab typedef

我正在查看MATLAB生成的一些c ++代码,我发现了这个:

typedef char char_T
typedef char_T byte_T

这段代码到底是做什么的,目的是什么?

2 个答案:

答案 0 :(得分:5)

我认为你问的是为什么MATLAB的代码生成器正在吐出这些看似多余的typedef。可能的原因是MATLAB需要一个代表其代码字节的类型,但它不确定该类型在您的特定系统和体系结构上是什么。然后它可能有一个特定于系统的存根,它将自己的类型映射到合理的类型,然后是使用那些先前建立的类型的通用部分。

答案 1 :(得分:1)

嗯,编程的主要定理指出任何问题都可以通过增加一层间接性来解决。 typedef的假设目的是在任何地方使用char_T,如果有一天决定将“字节类型”更改为unsigned char,则将其更改为

typedef signed char charT

并且无需查找您使用char的每个地方并手动更改。