SWITCH.h
http://dixq.net/code/SWITCH.h
また湧いてきました。kaitenです。
学校を病欠している間にSWITCH.hがそれなりに形になったのでまた晒しに来た次第です。
病欠で何故そんなことしてるって?いやだって退くt(ry
冗談はおいといて、今回もまた問題点などを挙げていただこうと思いこの場を借りさせていただきました。
前回ご指摘いただいた型指定の排除やS_ENDの排除が思った以上に難航しているのでそれについての解法も御教授いただければ幸いです。
まだreadmeを作ってないので仕様があやふやなのですが、基本的に使用法は前回と変わっていません。
変更点は、FALL(RUN)機能の廃止、REFINE系機能の廃止(REFINEなしで強制的に同等の効果があるはずです)、
DEFAULT機能の使用を選択式に変更、旧バージョンとの互換性破棄、continueに対応、速度面の大幅なパフォーマンス向上(BCCDeveloperにて計測したところ、DEFAULT機能不使用時に本家switchに勝る速度を確認)、
#pragma onceを使わず#ifでインクルードガードを行うよう変更したことです。
[雑談?]自作ヘッダを公開してみる[Take2]
Re:[雑談?]自作ヘッダを公開してみる[Take2]
>>前回ご指摘いただいた型指定の排除やS_ENDの排除が思った以上に難航しているので
>>それについての解法も御教授いただければ幸いです。
こんな感じかな。
使い方は以下の通り、ほぼswitch文と同じ。
>>それについての解法も御教授いただければ幸いです。
こんな感じかな。
使い方は以下の通り、ほぼswitch文と同じ。
SWITCH(i) { CASE(3): printf("3です\n"); break; CASE(4): printf("4です\n"); break; IN_CASE(7,10): printf("7から10です\n"); break; DEFAULT: printf("その他\n"); break; }
Re:[雑談?]自作ヘッダを公開してみる[Take2]
hogeさん、ありがとうございます。
dynamic_castを使えばこのような方法で可能なのですね。自分では思いつきもしませんでした。
それ以前に、breakとcontinueの両方に対応させるためにswitch文を内部で使うという発想自体がなかったです。
既に上げた自作の物はそのうちほぼそのまま自ページにて公開するつもりなのですが、添付していただいたものを参考にして作ったものも公開させていただいてよろしいでしょうか?自分で理解してから組みますが、どうしても似たような感じになってしまうと思うので……
御許可を頂けない場合は万に一つも添付して頂いたものを参考に作ったヘッダを公開するようなことは致しません。
dynamic_castを使えばこのような方法で可能なのですね。自分では思いつきもしませんでした。
それ以前に、breakとcontinueの両方に対応させるためにswitch文を内部で使うという発想自体がなかったです。
既に上げた自作の物はそのうちほぼそのまま自ページにて公開するつもりなのですが、添付していただいたものを参考にして作ったものも公開させていただいてよろしいでしょうか?自分で理解してから組みますが、どうしても似たような感じになってしまうと思うので……
御許可を頂けない場合は万に一つも添付して頂いたものを参考に作ったヘッダを公開するようなことは致しません。