typedef在C ++中做了什么

时间:2009-10-18 17:36:50

标签: c++ typedef

typedef set<int, less<int> > SetInt;

请解释此代码的作用。

6 个答案:

答案 0 :(得分:29)

这意味着无论何时创建SetInt,您实际上都在创建set<int, less<int> >的对象。

例如,它使以下两段代码等效:

SetInt somevar;

set<int, less<int> > somevar;

答案 1 :(得分:5)

来自Wikipedia

  

typedef是C和C ++编程语言中的关键字。它用于为数据类型指定新名称。目的是让程序员更容易理解源代码。

在这种特殊情况下,它使SetInt成为类型名称,因此您可以将变量声明为:

SetInt myInts;

答案 2 :(得分:3)

您可以在SetInt之后使用typedef,就像使用set<int, less<int>>一样。当然,typedef可以了解范围。

答案 3 :(得分:0)

它为名为SetInt的类型创建别名,相当于set<int, less<int> >

关于关于less的问题,指的是std::lessset将用于对对象进行排序的比较器。

答案 4 :(得分:0)

C / C ++中的typedef用于为某个数据类型提供另一个名称供您使用。

在您的代码段中,set<int, less<int> >是您要为其提供另一个名称(如果您愿意为别名)的数据类型,该名称为SetInt

使用typedef的主要目的是从程序员的角度简化对代码的理解。而不是总是必须使用复杂的长数据类型(在你的情况下,我假设它是一个模板对象),你可以选择一个相当简单的名称。

答案 5 :(得分:0)

代码表示您为

指定了别名或名称(SetInt)
set<int, less<int>>

...对象即。而不是总是将对象称为

set<int, less<int>>

您可以将SetInt作为名称并调用对象....就像

一样
int i;

例如:

SetInt setinteger;