hohehohe2 より
defineに限った話ですが、 1) #define times2(x) x * xだとtimes2(a++)のように関数っぽく使えるのにaの値が2増える。 2) #define times(x, y) x * yだとtimes(a, b + 1)でa*b+1が返ってくる。: (x) * (y)とする必要有り、3)も考えて((x) * (y)) 3) #define add(x, y) x +...
View Articletai より
>@hさん > プリプロセッサだけのツール おおお?プリプロセッサだけのツールというと、、、何をするものなんでしょうか。。 > レンダラ書きは早いからプリプロセッサ大好きみたいですよ プリプロセッサ=置き換えだから関数呼び出しのオーバーヘッドが無くなって速い、ってことなんでしたっけ。 まぁ、速ければ使いますよねww >hohehohe2さん おおおおおおおおおお...
View Articlehohehohe2 より
> 1)はつまりx++ * x++になっちゃうので2増える、ってことなんですかね。 そうです。 > 名前の上書きとかは相当怖いですね、、、 > やっぱりこの辺はルール決めてやるしかないですね。 避けられない理由があることもありますが人が使うの前提のライブラリのヘッダとかには理由がない場合使わない方がいいですねー。namespaceの中に関数かクラス入れとくのが安全だと思います。...
View Article@h より
プリプロセッサの動作って コンパイル前に規則に従って 文字列置換してるわけなので javaとか pythonでも プリプロセッサみたいなソフトを使うことが出来ます。 ただし、手動でソフトを起動する必要はありますが・・・w プリプロセッサを使う利点としては 主に ソースを読み易くしたり 関数にしない分 関数呼び出しのオーバヘッドタイムを減らしたりするのに 使ってると思います。
View Articletai より
>hohehohe2さん >人が使うの前提のライブラリのヘッダとかには〜 自分以外の人が使うか否か、ってのがポイントですね。 考えうる限りまだそういう事態にはならなさそうなのですが、 気をつけるに越したことはないですし、意識しておこうとおもいます:D ありがとうございますーっ。
View Articlechiyama より
未来の自分も他人みたいなモノですよw 私は極力使わないようにしてます。hohehohe2さんが 詳しく書かれてますけど、これでハマって一日潰すと かなり切ないです(経験多数ww
View Articletai より
>@hさん あ、すごいタイミングで書き込みがかぶってたみたい、、 遅レスサーセン。。 > プリプロセッサもどき 自分で置き換えってのは考えたこともなかったですwwwww 余計にややこしくなりそうwwwwwwwww >chiyamaさん > 未来の自分も他人みたいなモノ た、たしかに、、 やっぱりバグの温床になりやすいものなんですかねー。 >hohehohe2さん うす、気をつけます。...
View Article
More Pages to Explore .....