作者stimim (qqaa)
看板C_and_CPP
標題Re: [問題] UNION
時間Sun Nov 13 18:13:52 2011
: 我想問的是 為什麼union裡面直接把struct裡的東西擺進去 而不用struct
: 出來的答案就不是我要的(亂七八糟的答案) 不是讓int 跟 unsigned 共用address嗎??
: 感覺跟再宣告一個struct 擺進去意思一樣阿= =
: 還有如果我要八個bit 就一定要像上面在struct裡面宣告八個unsigned 嗎
: 有辦法一行解決嗎? 謝!
bit field 無法用陣列,所以如果你要用 bit fields ,就只能一個一個宣告。
不過,可以用 bitwise operator 來做到相同的功能
http://codepad.org/2Tk5jyga
在 C++ 有 template, operator overriding, 可以寫成這樣:
http://codepad.org/aPtsFK0D
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.153.234
推 tropical72:push :) 11/13 18:26
→ diabloevagto:推!但c++可以直接用bitset也不錯喔 11/13 19:42
→ poyenc:bitset是自己擁有一份複製品, 一直到C++11才能支援輸入 11/13 19:53
→ poyenc:unsigned long long, 只適合對整數處理 11/13 19:54
→ diabloevagto:請問p大說的複製品是?有沒有相關網頁能夠參考呢? 11/13 20:06