不具合農場 地獄の大豊作不具合様は本日もすこやかなれば、本日も大豊作なり。 不具合様には不具合をお供えすべし。 今日もお供え物作ってますか? |
トップへ戻る ブログのトップへ戻る Word Press |
|
不具合道楽 地獄のフルコース不具合御飯 不具合味噌汁 不具合満漢全席 | ||
コンピューターのはらわた無修正大公開 | ||
不具合設計局キャンペーン中 |
2012-09-30 (Sun)
_ [開発メモ] enum
C言語における列挙型の話です。列挙型というのはプログラムを書く上で必ずしも必要ではないがため、#defineで済ましている人も結構います。(そもそも列挙型を知らないという場合も多い) 私は列挙型で書いています。Javaには列挙型がなくて、これは私がJavaに対して気に入らない点の最上位です。列挙型を使う上での最大の利点は、独立したデータ型となるため、他のデータ型から値を代入しようとすると警告になるという点です。バグのリスクが減らせます。また、デバッグ時に数値ではなく列挙子で値を見ることができるので、作業しやすいです。
Cの列挙型は列挙子がスコープで区切られていないため、列挙子の前にアルファベット2~3文字をつけて名前がかぶらないようにするのが一般的です。
enum eDataType{ dtInt, dtString};
というような形ですね。で、Cの新しい仕様で、列挙子をスコープで区切ることが可能になりました。
enum class eDataType{ Int, String};
というような感じになります。列挙子へのアクセスはeDataType::Intというような形で行われ、名前が重複する心配がなくなりました。
最近のCの拡張では、ラムダ関数が私は一番興味があります。C++Builderでは64bitコンパイラではラムダ関数がサポートされるのかな? 64bitコンパイラは年内には最初のリリースをするようなことをembarcaderoはいっていますが、早く出て欲しいですね。
[ツッコミを入れる]