我正在查看MATLAB生成的一些c ++代码,我发现了这个:
typedef char char_T
typedef char_T byte_T
这段代码到底是做什么的,目的是什么?
答案 0 :(得分:5)
我认为你问的是为什么MATLAB的代码生成器正在吐出这些看似多余的typedef。可能的原因是MATLAB需要一个代表其代码字节的类型,但它不确定该类型在您的特定系统和体系结构上是什么。然后它可能有一个特定于系统的存根,它将自己的类型映射到合理的类型,然后是使用那些先前建立的类型的通用部分。
答案 1 :(得分:1)
嗯,编程的主要定理指出任何问题都可以通过增加一层间接性来解决。 typedef的假设目的是在任何地方使用char_T,如果有一天决定将“字节类型”更改为unsigned char,则将其更改为
typedef signed char charT
并且无需查找您使用char的每个地方并手动更改。