パスワードを忘れた? アカウント作成
12957210 journal
日記

M-FalconSkyの日記: べたーC その2

日記 by M-FalconSky

2.boolとenum、union
enumについては、タイプセーフenum+アルファ
ただ、これは言語が決めるライブラリ仕様とかを使う感じかな

boolは

enum suite = {dia,spade,club,heart};
 
bool
bool<3> // 定数をどうすべきかはアイディアはない
bool<suite>

けっこう3値boolとかほしくなるので...ただ4以上とかどうすべきとかは今一アイディアはない
でも、true/false/undefinedみたいなのは使いたくなるんだよね

unionは言語側サポートで、はいってる値の型が判別できるタイプとかあるといいんだけど

union<32,big_endian> {
  int<> a;
  ...
}

いままでと同じ、構造体メンバとして生データが複数解釈できるフィールド用
実データに合せるときはbit長明記が必要、エンディアンネスもかな?、これはメンバ内のものが対応できていればいいか?(中のintは自動推論)

union {
  int a;
  ...
}

サイズ不定で、入れたデータにあわせる

プロパティ

.byte_array // 生データを当てる/取る
.set_type<メンバ名> // 生データから直当てしたときに型を明確にする
.get_type // setした型が取れる
.bit_length
...

一度セットしてあるなら、再セットするまでの間について静的/動的に型チェックがなされる

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

最初のバージョンは常に打ち捨てられる。

読み込み中...