回答
工會是相當低級的語言功能。關於哪種類型可以在一個工會中共同存在,存在任何限制性的「良好編程實踐」沒有任何有意義的理由。聯合的目的是「複用」內存使用情況:通過在同一內存區域中存儲具有非重疊生命週期的多個不相關對象來節省空間。
如果這就是你需要的 - 去爲它。
工會有時用於原始記憶重新解釋(AKA類型雙關語)。過去,工會的這種用法是非法的,直到它在C99標準的最新技術勘誤之一中正式合法化。雖然它有其用處,但是類型雙擊確實可以被看作是有問題的編程實踐。
我同意你的觀點。 +1 –
+1:*「將不重疊的對象與非重疊的生命期存儲在同一個內存區域中」*。它無法表達得更好。 –
「在同一內存區域中存儲不重疊的生命週期的對象」 - 喜歡這個。這正是我使用這個BTW的原因。這段代碼將放在控制器上,節省內存是關鍵。只是覺得我擔心的是有人解引用int.Yes,它的內核代碼.. – Laz
- 1. 有一個模板參數可以是指針類型或非指針類型
- 2. 基本操作數有非指針類型..但它是一個指針?
- 3. 分配一個非指針指針? (?子類在C++中的指針類型)
- 4. 是否有可能有一個指針指向第一個指針所指向的變量的指針?
- 5. 基本操作數 - >沒有非指針類型的指針'
- 6. 是否有可能用一個指針和一個聲明
- 7. 指針指向哪個數據類型?
- 8. UML:當一個類具有指向其他類的指針參數指針時
- 9. 有一個函數指針類型是什麼意思?
- 10. 基於指針與非指針類型如何重載一個成員函數
- 11. 是否有一個獨特的指針指向共享指針的做法?
- 12. 返回一個指針,該指針指向一個具有char **指針指針的結構體
- 13. 一個指針數組的指針
- 14. 指針數組和指針指向一個數組在C++
- 15. 從一個指針到指針類型到另一個在Golang中的錯誤
- 16. const指針指向一個const指針
- 17. 如何指針到一個類型被視爲一個指針,它指向類型的數組
- 18. 爲什麼有人需要一個指向指針的指針?
- 19. 只有當它是一個指針
- 20. 一個指針的返回類型爲指針
- 21. 將指針指向的數據複製到另一個指針
- 22. JavaScript中是否有指針?
- 23. 哪種類型的指針用於擁有指針的集合
- 24. 直接賦值是否有效將指針數組中的指針複製到另一個變量?
- 25. 爲什麼說一個2維數組是一個「指向指針的指針?」
- 26. C字符數組指針不是一個有效的語句
- 27. 一個指向二維數組對象類型指針的指針
- 28. C++。錯誤:無效不是一個指針到對象類型
- 29. 「無效*」不是一個指針到對象類型
- 30. 將一個void指針施放到一個任意類型的指針上
'union's永遠不是一個好的編程習慣。 – Pubby
不是一個便攜式計劃atleast –
@Grijesh Chauhan:關於工會絕對沒有什麼不好或不可移植的。 「非便攜式」神話通常植根於完全錯誤的信念,即存在重新解讀內存的工會。這只不過是一個神話。說「工會永遠不是好的做法」是完全不正確的。 – AnT