回答
这意味着无论何时创建SetInt
,实际上都会创建一个对象set<int, less<int> >
。
例如,它使得代码当量的以下两个部分:
SetInt somevar;
和
set<int, less<int> > somevar;
还应该注意,这是一个确切的同义词,而不是引入的新类型。这意味着SetInt的任何模板专业化也将适用于设置
您可以在typedef
之后使用SetInt
,就好像您在使用set<int, less<int>>
一样。当然,typedef
是有意义的。
尽管C++ 0x标准将来可能不需要,但在'>>'中仍然需要一个空格。 – 2009-10-19 06:17:46
typedef
是在C和C++编程语言的关键字。它用于给数据类型一个新名称。目的是让程序员更容易理解源代码。
在此特定情况下,它使SetInt
类型名称,这样你可以声明一个变量:
SetInt myInts;
在C/C++甲的typedef是用来给一个特定的数据类型的另一个名称供你使用。
在您的代码段,set<int, less<int> >
的数据类型是你想给另一个名字(如果你愿意的化名)这个名字是SetInt
使用一个typedef的主要目的是简化的理解从程序员的角度来看代码。而不必总是使用复杂和长的数据类型(在你的情况下,我认为它是一个模板对象),你可以选择一个相当简单的名字。
的代码意味着,你给一个别名或名称(SETINT)到
set<int, less<int>>
对象...即。而不是总是调用对象
set<int, less<int>>
,您可以把SETINT作为名称,并调用该对象....就像
int i;
如:
SetInt setinteger;
尽管C++ 0x标准可能在将来不需要,但在'>>'中仍然需要一个空格。 – 2009-10-19 06:18:23
- 1. “typedef void(* task)()”是做什么的?
- 2. '@'在c#中做什么?
- 3. crypt()在C中做什么?
- 4. 在C中,'''做什么?
- 5. C [a]在C中做什么?
- 6. C++:typedef struct {......} * node是什么意思?
- 7. 这个C++ typedef有什么问题?
- 8. 在Perl中做什么=〜做什么?
- 9. 我在做什么错? (C)
- 10. typedef有什么用?
- 11. extern在目标C中做了什么?
- 12. “malloc”在C/MPI中做什么?
- 13. “12345”+ 2在C中做了什么?
- 14. out [i] = *(a_mat + i)在C中做什么?
- 15. MAX在Objec-C/cocos2d中做了什么?
- 16. @class在Objective-C中做什么?
- 17. arraylist IndexOf在asp.net/c#中做了什么?
- 18. *在C中做什么符号?
- 19. 在c#中^字符做了什么?
- 20. “| =”运算符在C#中做什么?
- 21. 在C#中,'| ='是做什么的?
- 22. 在Objective-C中typedef NSDictionary的合法方法是什么?
- 23. 在C++中typedef和指针的规则是什么?
- 24. * unspecified *在C++ typedef语句中指的是什么?
- 25. 这个typedef结构在C语言中的含义是什么?
- 26. 为什么要在C++中使用typedef声明枚举?
- 27. 的typedef在C++
- 28. 什么是.1文件在Object-C编程中做什么?
- 29. 什么是“?”。运算符在C#中做什么?
- 30. 什么::(成员方法名称)在C++中做什么
时,我想键入它 “少”是什么意思,它是必须写? thankx – 2009-10-18 17:58:58
你能给我们的代码定义更少? –
Partial
2009-10-18 18:07:06
看到'set'之前没有std ::,'less'则可能指的是'std :: less'。虽然它可以自定义设置和更少,我怀疑它。 – GManNickG 2009-10-18 18:12:04