boolやenumをintで代用する奴は氏んだ方がよい
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG「チミはなんで勝手にboolなぞという型で受け取ってるのかね!これは列挙型だよ!君のせいで修正が大変だ」
とか言われると心底ムカつく。
みんなはどうよ?
0051デフォルトの名無しさん
NGNGint を bool の代わりに使ってるようだったので
似たような int 型の変数が出てきた時 bool だろうと思って
bool に保存したら実は enum 変数だった。
かな?
0052デフォルトの名無しさん
NGNGって事は>>1は単純にアホって事じゃん。
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGだからBOOLじゃなくてboolだってば
0060デフォルトの名無しさん
NGNGちょっと君、詳しく話聴かせてもらおうか?
0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG>>39
そもそもWin32APIが4Byte
( ´,_ゝ`) プッ
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG006623
NGNG1bitだから常に0か1だろぉぃ。
0067デフォルトの名無しさん
NGNGまぁbool型を比較するような奴がバグを出すのは確かだな。
0068デフォルトの名無しさん
NGNGdefineじゃないの?
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGboolは1bitじゃなくて1byteでつ。
007170
NGNGsizeof(bool)が1を返すから1byteかと思ったが、1と0以外代入
できないんだね。今知った。
0072デフォルトの名無しさん
NGNG1bitずつアドレス振ってるわけがないんだし、処理効率を考えても
わざわざ1bit扱いにしているとは、とてもぢゃ無いが考えられん。
昔の機械みたいにメモリ節約にこだわって、1byte内にいろんなフラグを混ぜるとかしてないだろ。
こうやって考えると、intサイズで扱ってると考えるのが自然だと思うぞ。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNGVCでは4よりバージョンが高いのなら1バイト、低いなら4バイト
gccでは4バイト
後のコンパイラは知らん
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG007977
NGNGしね>おれ
0080デフォルトの名無しさん
NGNGsageのことだろ。
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG規定では「0と1を格納できれば十分なサイズ」としか
書かれてないから処理系依存だと思う。
0088デフォルトの名無しさん
NGNGsizeof(_Bool)=size_tはほとんどの環境でintかunsingned intだろうな。
0089デフォルトの名無しさん
NGNG#define bool _Bool
はうまく働かない場面もあるわけだ…
0090デフォルトの名無しさん
NGNGなんで?
C++ の bool のサイズも実装依存よ。
0091デフォルトの名無しさん
NGNGそんなわけない。
#include <stdbool.h>
のことを考えれ。
0092デフォルトの名無しさん
NGNGなかでintで宣言されてたら爆笑だけどな。
0093デフォルトの名無しさん
NGNGいまどき論理型に整数型が代入できる言語を使う必要って何?
0094デフォルトの名無しさん
NGNGbool a = (bool)1;
C++、使いやすいから。
0095デフォルトの名無しさん
NGNG>論理型のサイズを気にする必要って何?
このクラス4(or 8 or 16...)バイトに収まるといいなっていう時に
sizeof(bool) == 4が成立すると男泣きに泣ける
>いまどき論理型に整数型が代入できる言語を使う必要って何?
論理型に整数型が代入できる必要はないけど
(少なくとも漏れの仕事/興味の分野では)C++に置き換わる言語がない
0096どこに書いていいか困ったので
NGNG0097デフォルトの名無しさん
NGNGHOGE_1 = 1,
HOGE_2 = 2,
HOGE_3 = 3,
HOGE_4 = 4
}HOGE;
0098デフォルトの名無しさん
NGNGビットフィールド使えばいいんじゃ?
0099デフォルトの名無しさん
NGNGあと一個boolをって場合にビットフィールド使ってint級のサイズじゃ役にたたんじゃろ。
アラインメント厳しい環境じゃ同じだろうけど。
というか typedef unsigned char OctalBool; でもいい気がするが。
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG関係無いだろう!何を勉強してきたんだおまいら。
bool型は trueか falseの2値しかないの!
この2値を、どういう実装で内部表現するかは、処理系依存なの!
1ビットか32ビットか、1か全ビット1か、そんな事は高級言語で
プログラミングしている場合は、言語処理系によって隠蔽されてるんだよ!
boolをenumとかintで代用したり、あまつさえ強制キャストしてるようなやつは
逝ってくれ!
0109デフォルトの名無しさん
NGNG必死だな。
>boolをenumとかintで代用したり
boolやenumをintで代用だろ。
0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNGつまりrangeが広いわけですな、と。
0113デフォルトの名無しさん
NGNG実際のメモリ領域は1バイト使っているという罠
0114デフォルトの名無しさん
NGNGあらゆるデータ型はintかその配列で表現できる
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNG少なくともパソコンに限ってなら浮動小数点ユニット内蔵してるわけだし。
でもね、bool使える環境なら使うのが当然だよ。
intで返す関数は、0が真なのか0以外が真なのかとか、エラーは0なのか-1なのかとか
使うたびに調べなきゃならないでしょ。
boolならtrueが真、falseが偽って決まってるからね。
0118デフォルトの名無しさん
NGNGchar, short, int, long, long longなど多様な型があるのか?
float, doubleもしかり。
0119デフォルトの名無しさん
NGNGC言語を使ったことがあるひとなら、
1が真で、それ以外は偽であることを常識として知っているはず。
0120デフォルトの名無しさん
NGNG1が真であるとは定義されていないとオモタが??
0121
NGNGお金持ち対象の高級車にいろんな車があるのはなぜか?
「一番良いの」が一個あればいいじゃん?ってことか?
0122デフォルトの名無しさん
NGNG「俺はいま80byteメモリーを節約してるぅぅぅぅぅうぅぅぅぅ!!」
ハァハァ♥
0123デフォルトの名無しさん
NGNG>C言語を使ったことがあるひとなら、
>1が真で、それ以外は偽であることを常識として知っているはず。
age
0124デフォルトの名無しさん
NGNGあぁ。沢山ある意味はなく、
見栄とか気分で変えるとかそういうことか。
0125デフォルトの名無しさん
NGNGもじれつでだいようすれば、
trueかfalseかなんて、あたいをみれば
いちもくりょうぜんじゃないか
0126デフォルトの名無しさん
NGNGA7.9関係演算子(P254)
演算子(略)はすべて、指定された関係が成り立たなければ、答えとして0を出し、正しければ1を出す。結果の型はintであり(後略)
0127デフォルトの名無しさん
NGNG漏れの中では
0 - false
!0 - true
なんだが、これはどこから来たルールだろ?
あとCにかぎらなければ BASIC は -1(全ビット立ってる)が true だったりするよな。
あと C++ だと結果の型は int ではなく bool になる。
C++ で条件式の結果の型として int に拘る必要性は 0 だよな。
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG> BASIC は -1(全ビット立ってる)が true だったりするよな。
ASCII Code で Delete が 0x7F になった理由が思い浮かんだ。
0130デフォルトの名無しさん
NGNGそういう人は、アセンプラを使うべし。
わざわざC言語や他の高級言語が存在する意義を分かっていない/分かりたくないならばね。
多様な型は、C++風に言うなら、多様なクラスであるわけよ。
int a=1;
int b=2;
int c;
c=a+b;
において、intはクラスであり、+や=演算子は intクラスで使用出来るメソッドだと
考えるわけだ。intでなくても、floatや、あるいは charなど、いろいろな型に
ついて、「使える」クラスが言語に内包されている、それが高級言語なのよ。
0131デフォルトの名無しさん
NGNG日本人を装う在日のように後を絶たないな。
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG関係式、等価式、論理式では型はintで偽は0で真は1。
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNGちなみに、NULLポインタは0だから、ポインタも同じことが言える。
Cはうまく出来てるよな。
char *p = malloc(1024);
if( p ) {
‥‥
0136デフォルトの名無しさん
NGNG>>126 みてないのか ?
「真なら 1」 で、「0 以外を真と解釈する」だけのことだろ。
たぶん表現力がないということだと思うけど、いつまでも「真は0以外」とか言ってるとバカみたいだぞ。
ついでに、「NULLポインタは0」もいろいろ物議をかもし出すから、止めとけ。
0137デフォルトの名無しさん
NGNG演算子は、だろ?
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNG演算子以外で論理値を返すやつってなんかある ?
isxxx() が怪しいんだが、ググルと 真/偽 を返すと書いてある奴と 0/0以外を返すと書いてある奴の二通りがある。
規格ではどっちが正しいんだ ?
>>138-139
ほらぁ、もう何匹も寄って来ちゃったジャン。 > >>135
0141デフォルトの名無しさん
NGNGここのif(XXX == TRUE) の部分の記事を読んでどう思うか聞きたい
0142デフォルトの名無しさん
NGNG論理形を持ってる言語 (例: Pascal) でも if XXX = TRUE then なんて書くやつはバカ。
単にソース上無駄な (=みづらい) だけだからな。
(でもこっちの方が意図が明確に伝わるとか言う奴がいるんだよな...。俺には理解できんが。)
だから、XXX がホントに TRUE/FALSE しか返さないとしても if(XXX == TRUE) なんて書くやつはバカ。
XXX が整数値を返すと知ってて if(XXX == TRUE) とかく奴は、プログラマに向いてない。
C 言語で、TRUE/FALSE に 1/0 以外を定義してる奴は、今すぐ死んだほうがいい。
0143デフォルトの名無しさん
NGNGMSにも言ってやってくれ
0144デフォルトの名無しさん
NGNGIsDiffValue なんていう意味が取りやすい変数名を使ってるにもかかわらず、
TRUEと比較するのはなんでだろ
0145デフォルトの名無しさん
NGNGん ?
MS のソースにそういうの (= if(xxx == TRUE)) がいっぱいあるのか ?
できたら、その情報ソースを教えてくれ。
>>144
「IsDiffValueの戻り値は」と書いてあるのもかかわらず、
変数と思っているのはなんでだろ
0146デフォルトの名無しさん
NGNG見づらくてバカですか。そうですか。
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNGこれの何が馬鹿みたいなんだ?
0149デフォルトの名無しさん
NGNG0以外は「真」で、「真」は1なんだよ。わかる?
逆も通じるとは限らないのだ。
0150デフォルトの名無しさん
NGNGおまいら、言ってることは最終的に一緒なんだからべつにどっちでもいいだろ。
0151デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています