回答
這意味着無論何時創建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聲明是做什麼的?
- 2. 「typedef void(* task)()」是做什麼的?
- 3. '@'在c#中做什麼?
- 4. 「system(...)」在C++中做什麼?
- 5. 在C中,'''做什麼?
- 6. crypt()在C中做什麼?
- 7. '=>'在C#中做什麼?
- 8. {}在C中做些什麼
- 9. 「##」在C中做什麼?
- 10. Controls.Add()在c#中做什麼?
- 11. C在做什麼?
- 12. C++ - [=]做什麼?
- 13. C [a]在C中做什麼?
- 14. Dart中的typedef是什麼?
- 15. 這個C++ typedef有什麼問題?
- 16. C++:typedef struct {......} * node是什麼意思?
- 17. 在Perl中做什麼=〜做什麼?
- 18. 我在做什麼錯? (C)
- 19. typedef有什麼用?
- 20. C#-PInvoke:UnmanagedFunctionPointer做什麼?
- 21. const typedef;在C和C++中
- 22. 「| =」運算符在C#中做什麼?
- 23. 在c#中^字符做了什麼?
- 24. 什麼是'std :;'在C++中做?
- 25. extern在目標C中做了什麼?
- 26. out [i] = *(a_mat + i)在C中做什麼?
- 27. *在C中做什麼符號?
- 28. 在C#中,task.oncomplete是做什麼的?
- 29. 在C#中3'/'是做什麼的?
- 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