C++ typedefs (from MATLAB)

C++ typedefs (from MATLAB)

本文关键字:MATLAB from typedefs C++      更新时间:2023-10-16

我正在浏览MATLAB生成的一些c++代码,发现了以下内容:

typedef char char_T
typedef char_T byte_T

这个代码到底在做什么?它的目的是什么?

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

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

typedef signed char charT

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