我正在爲一種編程語言做一個解釋器,並且我正在處理堆棧,但是我一直無法找到一個簡單的動態結構解決方案,它可以包含多種數據類型。我需要能夠存儲多種數據類型的結構,如整型,長整型,字符串等在C++數據結構中存儲多種數據類型
-1
A
回答
0
1
一種相對容易的方式來構建這樣的數據結構將是使用union
,像這樣:
union AnyType {
int int_val;
long long long_val;
float float_val;
double int_val;
char char_val;
char *char_prt;
};
這可能不是最經濟的,但是,因爲該結構的大小是相等的最大的數據類型。更好的方法是使用「原始」內存塊來處理堆棧,並將其部分動態分配給堆棧上的元素。但是,您需要注意數據的對齊,以避免將多字節數據放置在偏移量上,導致訪問速度變慢或導致運行時錯誤。
相關問題
- 1. Java多種類型的數據結構
- 2. 哪種類型的數據結構用於在iPhone上存儲此數據
- 3. 在C中存儲數據類型
- 4. 多維數組存儲多種數據類型
- 5. 在存儲過程中接受多種數據類型
- 6. 在MySQL中存儲時區偏移的數據類型/結構
- 7. 在單個更大的數據類型中存儲兩種數據類型
- 8. 用於在C++中存儲超大型2D數據的數據結構
- 9. 結合使用多種數據類型
- 10. 數據結構存儲
- 11. 存儲數據庫結構
- 12. GAE數據存儲結構
- 13. 在數據結構中存儲邊緣
- 14. 數據不存儲在結構中
- 15. C#處理多種數據庫類型?
- 16. 支持各種數據類型的數據結構
- 17. 德爾福:將數據存儲在某種結構中
- 18. 如何將結構數據存儲在C++數組中?
- 19. 在Python中使用哪種數據結構來存儲這樣的數據?
- 20. 數據結構的類型
- 21. 我需要一個數據結構來保存兩種數據類型
- 22. 存儲特定結構化數據的最佳數據結構
- 23. 在EIFFEL中一次在數據結構中存儲兩個類
- 24. NSUserDefaults可以存儲多種不同的數據類型嗎?
- 25. 存儲多種類型數據的最佳方法
- 26. 在java中存儲表數據的數據結構
- 27. 將大量圖形數據結構存儲在數據庫中
- 28. 使用數據結構對象在Android中存儲數據
- 29. 什麼是存儲表格數據結構的最佳類型?
- 30. 匿名存儲在數據結構
您可能想了解工會。 –
或可能[Boost變體](http://www.boost.org/doc/libs/1_54_0/doc/html/variant.html)。 –