是否有一個函數會以某種形式(列表)返回(在編譯元程序期間)所有可用基元類型的列表? 感謝C++的基本類型列表
回答
錯誤的問題。
什麼是類型列表? std::list<T>
?或數組?
如果是std :: list,那麼什麼是T? T =「std :: string」?
C++標準中描述了所有類型的列表。
bool
signed/unsigned char
signed/unsigned short int
signed/unsigned int
signed/unsigned long
size_t
wchar_t
float
double
你錯過了'長雙'和普通'char'。此外,'size_t'通常不是一個獨特的類型,而是一個typedef。 – MSalters
沒有 - 這樣的運行時內省是不常見的,也不可能也沒有用C有用++(你會做什麼用運行功能,讓你,你確實需要的類型名稱列表首先寫你的代碼?)。
由語言支持的原語類型包括:
bool
(unsigned,signed) char
wchar_t
(unsigned) short
(unsigned) int
(unsigned) long
[(unsigned) long long]
float
double
[long double]
個別編譯器支持更多,和許多類型的通常是可獲得的,而是由typedefing上述原始類型的裝置(即uint32_t
等等)來實現。
有關完整列表,請查看語言規範。
以上大部分也有'unsigned'變體... –
Jepp,我編輯了這個列表。現在有點混亂: -/ –
'long long'不是標準類型。 –
基本類型,你可以在C++標準§ 3.9.1發現的完整列表:
char
signed char
short int
int
long int
unsigned char
unsigned short int
unsigned int
unsigned long int
wchar_t
bool
float
double
long double
void
注意平原char
,signed char
和unsigned char
三種不同類型。 C++標準還定義了size_t
和ptrdiff_t
(它們不是基本的)。
您可以期望每個標準的一致性編譯器都將支持所有這些類型。每個特定的編譯器可以支持作爲擴展支持的更多附加類型。
- 1. 在C++中可用的基本類型的實際列表
- 2. 基本類型的基本類型
- 3. C++基本類型包裝
- 4. 基本類型和繼承類型的工作通用列表
- 5. Java基本類型的列表泛型語法
- 6. 基本類型vs基類
- 7. 將具有基本類型的列表序列化爲派生類型json
- 8. 集合爲基本類型的C#2.0
- 9. C#類型轉換的基本查詢
- 10. 使用類本地類型別名在模板基類列表
- 11. 基本類型
- 12. 基本類型
- 13. 基本類型的Jackson序列化器
- 14. 在C#/ .NET4中反序列化基本類型中的JSON
- 15. C++基本類
- 16. C#反思 - 基本類型錯誤
- 17. 在C++中拋出基本類型
- 18. 基本類型初始化C++
- 19. C#列表,Foreach和類型
- 20. 階:基本類型
- 21. 與基本類型
- 22. xml元素列表,以共同的基本類型
- 23. 錯誤:「DataGridViewComboBoxCell值無效。」 \t DataSource是基本類型的列表
- 24. typescript:用於表示任何基本類型的值類型
- 25. 從基類型列表中返回正確的後代類型
- 26. 將C#類型參數約束爲一系列基元類型?
- 27. 解析爲基本類型,基於c#中的用戶輸入#
- 28. 爪哇Arrays.asList上基本數組類型產生意外列表類型
- 29. 迭代器類型爲基本類型陣列
- 30. C++列表類作爲學生類型
只需閱讀語言標準,該標準規定了該語言必須支持的基本類型,或[請參閱此處](http://en.wikipedia.org/wiki/C_variable_types_and_declarations#Basic_types)。 –
@Kerrek SB:請注意,這不一定是詳盡的列表。這只是最低限度,編譯器完全可以自由添加'__int128'。 – MSalters