トップページ⇒tech
537コメント123KB

boolやenumをintで代用する奴は氏んだ方がよい

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
命名規約もドキュメントもなく何型かわかるはずもないのに
「チミはなんで勝手にboolなぞという型で受け取ってるのかね!これは列挙型だよ!君のせいで修正が大変だ」
とか言われると心底ムカつく。

みんなはどうよ?
0488デフォルトの名無しさんNGNG
>>486
unknown例外を投げる奴は氏んだ方がよい
になるやかん。
0489デフォルトの名無しさんNGNG
ブーリアン!ブーリアン!ブーリアン!ブーリアン!ブーリアン!
きっとあなたは帰ってくるだろう!
0490デフォルトの名無しさんNGNG
unknownって何か変じゃねえ?
nothing蛇内の?
真偽無だろ?
0491デフォルトの名無しさんNGNG
Exceptional C++ 項目45
0492デフォルトの名無しさんNGNG
無は偽なり
0493デフォルトの名無しさんNGNG
>>489
ヒデキ〜!
0494デフォルトの名無しさんNGNG
Rubyは真、偽、無があるけどbool型はなかったな。確か。
0495デフォルトの名無しさんNGNG
TrueClass, FalseClass, NilClass
0496デフォルトの名無しさんNGNG
仏教だと無は真なり
0497デフォルトの名無しさんNGNG
perlは真,偽,undefで、undefは偽扱い。
0498デフォルトの名無しさんNGNG
色即是空
空即是色
0499デフォルトの名無しさんNGNG
未定義と定義してしまった時点で本当の未定義ではないよな。
「無題」という題名の絵が本当に無題なわけではないように。
0500デフォルトの名無しさんNGNG
これはパイプではない。
ttp://perso.wanadoo.fr/wibo/nedry/supinfocom/p2/zoom/strator/magrittebg.htm
0501500NGNG
こっちのほうにしとくんだった。
ttp://www.uwrf.edu/history/prints/magritte-pipe.html
0502デフォルトの名無しさんNGNG
Rubyだとこういうコードって無限ループになるんだよね

i = 25
while i
 puts "逝ってよし!"
 i -= 1
end

変数 i の指すオブジェクトの値が0か否かではなく、オブジェクトが存在するか否かが
判定に使われてるわけで、値が0という整数値をとるオブジェクトは存在するわけで。


>>494
bool型は再定義する必要ないし、もしできたら困るでしょう
0503デフォルトの名無しさんNGNG
>>496
そんなあいまいなもの論理学を取り扱わなければならない
プログラマにとってはごみ以下である。
0504デフォルトの名無しさんNGNG
>>503
>>499
0505デフォルトの名無しさんNGNG
voidからboolへの自動変換をC++に追加するだけじゃないか。
0506デフォルトの名無しさんNGNG
ぼくはintをboolやenumのかわりになんてつかいません
ちゃんとキャストています。
#define true (float)1
#define false (float)0
0507デフォルトの名無しさんNGNG
俺はdoubleだね。
0.0000001 = true
0.0000002 = false
これ最強
0508デフォルトの名無しさんNGNG
すごく使いにくそう。
桁落ちとか誤差伝播の処理を解決するのがめんどくさそう
0509デフォルトの名無しさんNGNG
桁落ちとか誤差伝播ってw
お前はブール型を数値演算の値として利用しているのか?
0510デフォルトの名無しさんNGNG
言っておくが仏教は曖昧じゃないぞ。
無が真である、というのは、命題全体が偽(空)である、
というレトリック。
つーか、他に解釈のしようもないわけだが。
0511デフォルトの名無しさんNGNG
ところでboolをenumで代用する奴はどうなんだ?
typdef enum {
  false,
  true,
} bool;
0512デフォルトの名無しさんNGNG
119 :デフォルトの名無しさん:03/09/17(水) 14:19    New!!
>>117

C言語を使ったことがあるひとなら、
1が真で、それ以外は偽であることを常識として知っているはず。
0513デフォルトの名無しさんNGNG
>>449
どういうところが?
0514デフォルトの名無しさんNGNG
>>512
マヌケだよな。
C言語の常識がすべての常識と勘違いしてそうだw
0515デフォルトの名無しさんNGNG
Cの常識じゃないだろ。
0516デフォルトの名無しさんNGNG
>>514
>1が真で、それ以外は偽であることを常識として知っているはず。
なんてことはC言語でも成り立たないから安心してくれ
0517デフォルトの名無しさんNGNG
たしかに>>1は偽だな
0518デフォルトの名無しさんNGNG
↑夏厨
0519デフォルトの名無しさんNGNG
で、結論は出たのか?
0520デフォルトの名無しさんNGNG
§r.3.6.1 bool is a unique signed integral type. A bool value may be converted to int by promotion: true converts to 1, false converts to 0.
A numeric or pointer value may be implicitly converted to bool. A zero value becomes false; a non zero value becomes true. The relational operators yield bool values.
The C++ Programming Language/Bjarne Stroustrup
0521デフォルトの名無しさんNGNG
恐ろしい。Stroustrup本を買ってから9年も経つ。が、仕事でC++を使い始めたのはついこないだ。おそろしい。
0522マイク ◆yrBrqfF1Ew NGNG
恐ろしいのはあんたの頭だろう。
0523デフォルトの名無しさんNGNG
>>522
つまんねー煽りいれてんじゃね。
0524デフォルトの名無しさんNGNG
恐ろしいのは、
マイク ◆yrBrqfF1Ew
の、ゴミさ加減だろう。
0525デフォルトの名無しさんNGNG
>>521 == >>523-524

つまんねー煽りいれてんじゃね。
0526デフォルトの名無しさんNGNG
>>521 == >>523-524 || >>522
つまんねー煽りいれてんじゃね。
0527デフォルトの名無しさんNGNG
>>525
だからいいから、ゴミ(マイク ◆yrBrqfF1Ew)は書き込むな。

0528デフォルトの名無しさんNGNG
>>527 = 沢山
つまんねー煽りいれてんじゃね。
0529デフォルトの名無しさんNGNG
>>528 = 沢山
だからもうわかったから、ゴミ(マイク ◆yrBrqfF1Ew)は書き込むな。
0530デフォルトの名無しさんNGNG
>>529
だからもうわかったから、つまんねー煽りいれてんじゃね。
0531デフォルトの名無しさんNGNG
>>521
俺もそんな感じ

9年前に本で読んで、趣味でしか使ってなかった「プログラム言語の知識」が
今になって役に立つのは、不思議
0532デフォルトの名無しさんNGNG
>>531
不思議なのはあんたの頭だろう。
0533デフォルトの名無しさんNGNG
unixのシェルスクリプトでは0が真
0534デフォルトの名無しさんNGNG
>>533
EXIT_SUCCESSが0だからしょうがねぇべさ。
#しまった、頭悪そうな発言スレ行きか
0535デフォルトの名無しさんNGNG
>>531よ、>>521は9年間の間にC++の言語仕様に加えられた変更に関して、
自分が知識を持っていないことを懸念しているのだと思うのだが。
0536デフォルトの名無しさんNGNG
正直、あんまり変わってないぞ
templateもthrowも9年前にあった
実際の処理系に実装されていたかどうかはともかく
0537デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/prog/1082154544/l50
■ このスレッドは過去ログ倉庫に格納されています