EeBlog(テクニカルブログ)

第9回 ビットフラグ

今回は「ビットフラグ」についてです。
「ビットフラグ」とは、整数型の各ビットを フラグに見立てて値を保持する方法です。
int型なら32bitですから、32個のフラグ(ブール値)を保持できます。

以下にサンプルを挙げますが、answerList 変数1つで 3つの入力した値を保持していること、 また、値定数を2の累乗で設定していることに注目してください。

フラグを立てるときはOR(|)演算を使用します。
フラグが立っているかチェックを行うときはAND(&)の結果を0と比較します。

(さらに…)

第8回 ツリー(階層化)構造

ワンポイントの更新が火曜日に変わりました。 今回はツリー構造についてです。
パソコンではフォルダ(ディレクトリ)操作等でよく利用しますね。
ツリー構造をデータ化する場合、データに階層のレベルや子データをもたせたりといった ことをよく目にしますが、実際には親のみを持たせるだけで片付きます。

また、以下に出てくるコードにもありますが、 再帰処理はツリー構造を処理する上で非常に有用です。
但し、一歩間違えばマシンごと動きを止めるような致命的なバグに結びつく 非常に危険な技術でもあります。
しっかりマスターしておきましょう。
以下、データの追加と表示を行うプログラムです。
長いですが、要所要所をしっかり確認しましょう。
また、メインを除いてデータクラス1つで作っているのも ポイントの一つです。

(さらに…)

第7回 メソッドの動的実行

前回、クラスの動的生成について書きました。
同様に、メソッドを動的に実行することが可能です。
今回は、その機能を利用してprintMethodというメソッドを実装してみました。
引数に渡されたオブジェクトのメソッドのうち、 引数なしで、戻り値があるメソッドを実行し結果を表示しています。

(さらに…)