因为我在这里走了一条细线,请放轻松。我真的搜索了现有的线程,我只能看到没有示例的语句,它只是我的头脑。我一直在考虑是否要问这两天,因为我坦率地害怕在这里问一个愚蠢的问题。但我想我现在就冒风险,希望你对我这么轻松,因为这是我的第一个问题。
那些存在的线程表明typedef
ing结构将保存重复代码,但是如何?好吗?我举例如下:
struct Node {
int data;
Node* value;
};
要创建新节点,我会说:
Node n1;
即使我输入结构如:
typedef struct Node {
int data;
Node* value;
} type;
要创建新节点,我会这样做:
type n2;
我真的没有太大的区别。请提供一些示例,真正展示typedef对结构的有用性。
答案 0 :(得分:1)
对于那种事情,typedef在C语言中非常有用 - 在C ++中没有那么多。在C中,当您拥有Node
时,不能只输入struct Node
- 您必须实际输入struct Node
。所以typedef可以节省一些打字。
在C ++中,它在处理模板化类型时更有用。例如
typedef std::map<std::string, std::pair<int, std::string>> MyMap;
这可让您使用例如MyMap::iterator
代替std::map<std::string, std::pair<int, std::string>>::iterator
,这更容易输入。