2017年11月16日木曜日

うにおん

 要素の大きさが固定のキューで様々な情報をやり取りする際は、union(共用体)が役に立つ。
 1つの情報は構造体によりデータを持つが、複数の情報を排他で保持したい場合、それらの構造体をさらに構造体に入れるのは、メモリ効率の点で無駄が多い。

 構造体を使う場合、1回の操作に必要な情報をひとまとめにして渡すことができる、という利点がある。例えばキューが整数型1個(と内容を示す列挙型)しか扱えない場合、1回の設定で複数の変数を設定する必要がある場合、何回もキューに入れる操作が必要になる。

 共用体が使えるなら、複数の構造体を選んでキューに入れられるので、キュー1本で様々なデータを受け渡しすることができる。
 共用体を使わなくても、例えばキューの要素サイズを64バイトの固定長にする、といった方法で複数の構造体を入れることができる。しかし、後から要素数の大きい構造体を使おうと思った際に、保守が困難となる。共用体を使えば、コンパイラが自動的に要素サイズを設定してくれる。


 ということで、共用体を使いたいんだけど、コーディングルールで共用体が使えない。
 どうやってデータを渡そうかなーといろいろ考え中。

***

 最近、軽くスランプ気味。
 すっごい簡単な試作基板(コネクタ何個か乗ってて、ジュンフロン線数本という程度)を作っただけでも気力がゴッソリ削り取られた。コーディングもなかなか進まない。
 まぁ、いつもこんな感じな気もするけど。
 なんかぱーっと気分転換したい。

 そういえば、今季もアニメ1本も見てない気がする。いくつか録画はしてるけど、見る気が出ない。

0 件のコメント:

コメントを投稿