gpt4 book ai didi

c++ - typedef 的有效使用?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:04 26 4
gpt4 key购买 nike

我有一个要通过网络发送的 char(即字节)缓冲区。在将来的某个时候,我可能想将缓冲区切换为不同的类型,例如 unsigned charshort。我一直在考虑做这样的事情:

typedef char bufferElementType;

每当我对缓冲区元素执行任何操作时,我都会将其声明为 bufferElementType 而不是 char。这样我就可以通过更改这个typedef来切换到另一种类型(当然不会那么简单,但至少可以很容易地识别出需要修改的地方......会有一个 bufferElementType 附近)。

这是对 typedef 的有效/良好使用吗?这不值得麻烦吗?将来某个时候它会让我头疼吗?这会让维护程序员讨厌我吗?

我已通读 When Should I Use Typedef In C++ ,但没有人真正涵盖这一点。

最佳答案

这是一个很好的(也是正常的)用法。但是,您必须小心,例如,您选择的类型满足相同的有符号/无符号标准,或者它们对运算符的响应相似。这样以后再改类型就容易多了。

另一种选择是使用模板来避免在编译之前固定类型。定义为的类:

template <typename CharType>
class Whatever
{
CharType aChar;
...
};

能够处理您选择的任何字符类型,同时它以相同的方式响应所有运算符。

关于c++ - typedef 的有效使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/581387/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com