boolやenumをintで代用する奴は氏んだ方がよい
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG「チミはなんで勝手にboolなぞという型で受け取ってるのかね!これは列挙型だよ!君のせいで修正が大変だ」
とか言われると心底ムカつく。
みんなはどうよ?
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG>命名規約もドキュメントもなく何型かわかるはずもないのに
プロトタイプ宣言。
0008デフォルトの名無しさん
NGNG0009デフォルトの名無しさん
NGNG自分一人で全部やるのでまったく関係のない話だ。
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG五十歩百歩。
0013デフォルトの名無しさん
NGNGenumの場合はどうだろうか。
enum使用禁止言語もあるのだし
0014デフォルトの名無しさん
NGNGっところで1さぁ〜、昨日アキバに居たよね?テレビの取材受けていたのを見たんだよ。
アナ「今日はあの大人気の声優○○○○さんが来ています。」
1 「えぇ〜、ホントですか?ハァハァ」
アナ「・・・そんなに興奮なさらないでください(笑)。もし会えたら何したいですか?」
1 「えぇ〜っと、まず握手したいですねぇッハァッハァハァ・・・」
アナ「是非あなたに会いたいといっていましたよ。」
1 「ホントですかぁ?」
アナ「それでは呼んできます。目をつぶって待っていてください。」
1 (目をつぶる)
アナ「目を開けてください!!」
1 (目を開けた!!)
アナ「ドッキリ大成功!!!!!!」
1 「えぇ〜、俺をおちょくってんのか?」
(スタッフ登場)
スタッフ「すみません、これはドッキリでして」
1 「嘘つくなんて、怒ったぞぉ」
その後1はアナを犯しまくったとさ
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG最後がワラタ
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGオマエモナー
0020ju
NGNG|?∧?∧??|/⌒ヽ、| ∧_∧?| ∧∧ |
|(,,゚Д゚)| |,,゚ Θ゚) |(; ´Д`)|(=゚ω゚ |
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGboolって1bitだろぉぃ。
0024デフォルトの名無しさん
NGNGboolって1bitだろぉぃ。
0025デフォルトの名無しさん
NGNG夢を見るのは辞めなさい。
0026デフォルトの名無しさん
NGNGboolって1bitだろ土井。
0027デフォルトの名無しさん
NGNG002823
NGNGそうだよ、だから電子一粒で判定できる。
すなわち1bit
0029デフォルトの名無しさん
NGNGすなわち1bit
0030_
NGNG0031本物の23 ◆wjp6F0LD8M
NGNG003223
NGNGセージしとこ
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG(´-`).。oO(サイズが1byteあるってことを突っ込みたいのだろうか?)
003523
NGNGセージ。。
0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG(´-`).。oO(サイズが1byteあるってことを突っ込みたいのだろうか?)
0038デフォルトの名無しさん
NGNG1bitdattakke?
0039デフォルトの名無しさん
NGNGgccでは4バイト
後のコンパイラは知らん
0040デフォルトの名無しさん
NGNGそもそもWin32APIが4Byte
0041デフォルトの名無しさん
NGNGBOOLのことか?
BOOLは
typedef int BOOL;
よく調べてからいえ、バカ
0042デフォルトの名無しさん
NGNGそもそもお前の人生が4byteで表せる
0043デフォルトの名無しさん
NGNGそうだな、ビッグエンディアンで96B391CAってところか。
0044デフォルトの名無しさん
NGNG00451
NGNGclient = 1;
if (client) {
}
とか書いてて
int customer;
とか出てきたから
bool isCustomer で受けとったら
customer = CT_ABC;
とかだったんだよ。
命名規約で縛ってるわけでもないし、
ドキュメントもないしもう最悪。
0046デフォルトの名無しさん
NGNGちゃんと補完されてバグが未然に防げたのにな。
0047デフォルトの名無しさん
NGNG0048デフォルトの名無しさん
NGNGセージ……???
0049デフォルトの名無しさん
NGNGIDE厨発見
intって書かれてる時点でIDEに判別できるわけないやん。
ほんとIDE厨ってヴァカヴァッカ
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
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デフォルトの名無しさん
NGNG0152デフォルトの名無しさん
NGNG同じに聞こえるか? そうか。でも違うんだよ。よく考えてみな。
わからんか、そうか。じゃあ仕方が無いな。
だから、「馬鹿みたい」って言われるんだな。
0153デフォルトの名無しさん
NGNG馬鹿みたいなのが150とは限らない
0154デフォルトの名無しさん
NGNG誰かがその書き方をバカだと言ったか?
だが、142を読んでそう思ったのなら、146がバカということになるな。
0155146
NGNGそうか。
>>142は整数型なら
if (XXX == TRUE)
ではなく、
if (XXX)
と書けと言ってるように読めたからね。
まあ、馬鹿なのは否定しないけど。
0156デフォルトの名無しさん
NGNGa=(b==c);
って場合に、aは0か1しか無い。(0=偽、1=真)
if(d)
って場合は、dが0なら偽、それ以外は真って判定するってことだろ。
これをゴチャゴチャに考えている香具師が大杉ってことなんだよな。
0157デフォルトの名無しさん
NGNG論理型→整数型変換 偽は0 真は1
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG>論理形を持ってる言語 (例: Pascal) でも if XXX = TRUE then なんて書くやつはバカ。
>>149
>0以外は「真」で、「真」は1なんだよ。わかる?
上2者の言ってる事が正しい。分からないやつは、Cを使うべきではない。
というか、分からないやつは、ここに来る前に勉強すべき事があるだろ。
0164デフォルトの名無しさん
NGNGここに来る前に勉強する事があるんじゃないか?
0165デフォルトの名無しさん
NGNG例外はありませんが、何か?
一連の書き込みを読んでないのか、読んでも理解できない頭なのか・・・
単なる煽り文だけ書いてもむなしいだけだぞ。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGif(2){printf("こっちにくる");}else{printf("こっちにこない");}
何か感想は?
0169デフォルトの名無しさん
NGNGそれは「0以外は真」だろう
「真は1」というのは、条件式を数値として評価した場合、
・条件式が真の時 1
・条件式が偽の時 0
になることを言っているんじゃないか
0171デフォルトの名無しさん
NGNG逆も通じるとは限らないのだ。
0172デフォルトの名無しさん
NGNG日本語おかしいよわかってる?
2は真だが
真は2じゃない。
真は0以外だ。
0173デフォルトの名無しさん
NGNG俺にはこれは論理的におかしいとしか思えないのだが
0以外は「真」で、1は「真」なんだよ。わかる?
これならわかるんだけど
0174デフォルトの名無しさん
NGNG俺には2つめの「真」が太字で赤色に見える
0175デフォルトの名無しさん
NGNGはぁ、そうか理解できないか。
じゃあ、こう言いなおそう。
0以外は真として解釈される。
真の値は1である。
つまり、0以外は条件式において1として解釈される。
これならオケ?
繰り返すが、真は1で、これ以外の値をとることはありえない。
int a=2;
a = !!a;
さて、aの値は?
0176デフォルトの名無しさん
NGNG彼が自演してまで主張していた事はC99やC++では
_Bool(bool)型を整数型に変換するとfalseは0になり、trueは1になる。
と簡単に言い表す事ができます。
でも1は真じゃねーだろ。
0177デフォルトの名無しさん
NGNGP:ある変数 x が 0 以外である。
Q:ある変数 x が 1 である。
R:ある変数 x が真である。
P -> R は全員に認められているようだからいいとしよう。
ここで 1 は 0 以外であるから Q -> P は >>126 の解釈に関係なく成り立つ。
なので P -> R を認めると三段論法により Q -> R もなりたつ。
なので問題は R -> Q と R -> P のどちらが妥当かということになる。
>>126 では R -> Q だという話だがどうか。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGR1:ある変数 x は真と解釈される値である と解釈する派と
R2:ある変数 x は真を返す演算結果の値である と解釈する派
がいるのが混乱の元だろう。
R が R1 なら R1 -> P が妥当だし
R が R2 なら R2 -> Q が妥当だ。
0180デフォルトの名無しさん
NGNGここまでの展開で分からないヤシにはそれは理解できん気がする
0181デフォルトの名無しさん
NGNG(Q -> P かつ P -> R) ならば Q -> R が成り立つということ
0182デフォルトの名無しさん
NGNGint型の1はconditionとしてはtrueと解釈される。
int型の2はconditionとしてはtrueと解釈される。
int型の3はconditionとしてはtrueと解釈される。
以下同上
conditionのtrueはint型の値にすると1になる。
conditionのfalseはint型の値にすると0になる。
0も1も真でも偽でもねぇ、おまいらお型付けちゃんと出来てますか?
0183デフォルトの名無しさん
NGNG0以外は真として解釈される。
つまり、0以外は条件式において真として解釈される。
これならオケですが、なんで途中で変なの入れる訳?
0184デフォルトの名無しさん
NGNGIsDiffValue関数の場合
>繰り返すが、真は1で、これ以外の値をとることはありえない。
これはうそになるが?
0185デフォルトの名無しさん
NGNG>>175 じゃないが >>179 を見ろ。
君らは R1 の解釈派で >>175 は R2 の解釈派だということ。
0186デフォルトの名無しさん
NGNGじゃあ、Cにおいて偽は0で、真は0以外。は馬鹿みたいじゃないってことでいいでつね
0187デフォルトの名無しさん
NGNGboolをintで代用する奴は氏んだ方がよいってことでいいでつね
0188デフォルトの名無しさん
NGNGそれは、そうと
なんで2時とかの時間帯なのに活発なんだ?
仕事は
?
0189デフォルトの名無しさん
NGNGいやホントに
0190デフォルトの名無しさん
NGNG>>166
>>189
0191デフォルトの名無しさん
NGNGオマエはバカ。
バカはオマエ。
なるほど、どっちも意味は通じるな。じゃあ、それでもいいよ。
0192デフォルトの名無しさん
NGNG>>191はオカマ。
なるほど、どっちも意味は通じるな。じゃあ、それでもいいよ。
0193デフォルトの名無しさん
NGNG俺の物は俺の物
0194デフォルトの名無しさん
NGNG何がそんなに悔しいんだ?
0195デフォルトの名無しさん
NGNG何がそんなに嬉しいんだ?
0196デフォルトの名無しさん
NGNG素直に、成り立ったら "0 以外" を返す、としとけば問題なかったと思う今日この頃。
どうしても、0, 1 が欲しいときは、(条件式 ? 1 : 0) でいいんだし...。
0197デフォルトの名無しさん
NGNGじゃあいいじゃん。1も含めて0以外を真にしちゃえば。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG>>173
わざわざ語順を入れ替えてる>>149の言っている事がなぜ伝わらないんだ?
>>175
あんたが正しい。C的には。
>>176
あんたも正しい。おっしゃる通りだ。
>>186
視点の問題じゃないぞ。>>149、>>175、>>176をよく読め。視点と言うより、
BOOL以外の値をBOOLで「解釈」しなければならない時の話、と言えばいいだろうか?
0202デフォルトの名無しさん
NGNG関係式、等価式、論理式では型はintで偽は0で真は1。
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGだから、なぜわざとひねくれた言い方をするのだ?
0は偽で、0以外は真。これでいいだろう。わざわざ逆の言い方するな。
だから頭悪ーって言われるんだよ。
0208デフォルトの名無しさん
NGNGぶっちゃけ全員氏んだ方がいいよ
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG{
printf( "i は 0です\n");
}
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG0214M$
NGNG0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGおれは ちょっといやだなあと思いつつも 使っちゃうけど。
0217デフォルトの名無しさん
NGNGやめろばか
0218デフォルトの名無しさん
NGNGstd::bitset
0219デフォルトの名無しさん
NGNG可変長じゃないと ダメぽ。
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNGなんか困るのか?
0222デフォルトの名無しさん
NGNGvector<bool>はSTLではない。
てかそれくらい自分で作れよ。
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG何いってんの?
0225デフォルトの名無しさん
NGNGif (1== (hoge==fuga))
0227デフォルトの名無しさん
NGNGそれが
#define TRUE 1
と何の関係が?
0228デフォルトの名無しさん
NGNGvector<bool>はSTLではない。
てかそれくらい自分で作れよ。
0229デフォルトの名無しさん
NGNGvector<bool>もないようなショボイ環境使ってんじゃねーよ
0230デフォルトの名無しさん
NGNG************************************************
vector<bool>はSTLではない。
by >>222
************************************************
0233デフォルトの名無しさん
NGNG0234228
NGNG何?
プログラミング言語C++第三版のP531 16.3.11に載ってるvector<bool>は何かって?
そんなのBjarne Stroustrupが勝手に言ってるだけだろ。
俺がvector<bool>はSTLではないって言ったら、vector<bool>はSTLでは無いんだよ。
分かったか知障ども。
0235デフォルトの名無しさん
NGNGいちいち自作するのは馬鹿。
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGC++は難しすぎ 難易度:2
http://pc2.2ch.net/test/read.cgi/tech/1063323615/l50
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGできるだけ標準を使いたいわ
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG標準と準標準は大違い
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNGif(a==TRUE)は正直ありだとも思うが、まあ互換性を考えたらやめたほうがいいんだろうな。
上のほうでif(2)は真だからドウのと書いてあるがこれも結局
if( 2 != FALSE ) なだけで、結果真(1)が返るからif構文の中が実行されるのである。
if( 2 == TRUE ) じゃ実行されないからTRUEを比較に使うのはよろしくないな。やっぱ(ワラ
0245デフォルトの名無しさん
NGNG他の整数型やポインタでやらないで欲しい。
「もし 顧客情報ポインタ なら処理する。」
「もし 在庫数 なら処理する。」
日本語だったら、こんな風に書くやついないだろ?
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGそうです。省略するのはダサいのです。
0250デフォルトの名無しさん
NGNGあれは省略ではなく
むしろ付ける方が蛇足というものなんだが
0251デフォルトの名無しさん
NGNGつまり本物のプログラマは通を気取るために
「もし在庫数でないならば出荷処理する。」
「もし顧客情報ならば顧客情報を表示する。」
とわざと一般人にはわからないように表現するという事ですね?
0252デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGおまえはひまわりでも使っとけ
0255デフォルトの名無しさん
NGNG( ´_ゝ`)フーン 一般人にソースコード理解してもらって何が嬉しいの?
0256デフォルトの名無しさん
NGNGif(p) {}
と
if(p!=NLLL){}
と
どっちが判りやすいか、おまえには判るか?
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGif ( p ) や if ( ! p ) の方が自然と理解できる
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG> if(p) {}
> if(p!=NLLL){}
operator void * () とか
いくつかの cast を overload してたら
意味が同じでなくなるかもね
0262デフォルトの名無しさん
NGNG前者
0263デフォルトの名無しさん
NGNG>>256
後者だよ。
>>261
このスレはスマートポインタの場合なんて考えられない人ばかりみたいだよ。
それよりも NULL は使わずにあらゆるポインタにキャストできて、その値として 0 を返す Null クラスを作ってそれと比較するほうがいい。
0264デフォルトの名無しさん
NGNG>if(p!=NLLL){}
この二つがコンパイルできて、且つ違う意味になるような多重定義をする奴は糞
0265デフォルトの名無しさん
NGNG>const もまともに使えない
どっからこんな話でてきた?オマエの勝手な妄想だろ。この妄想厨が。
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG前者派だが、そんなことは思わんよ。どっちでもいい。
0268デフォルトの名無しさん
NGNGif ( NULL != p )
とか書かないなら、別に気にならない
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNGライブラリなんかで
「〜した場合はNULLを返す」
とか説明が書いてある場合は後者
0271デフォルトの名無しさん
NGNG禿同。俺も、整数型について、
if(n)
とかやるけど、
if(strcmp(...))
はやらない。
0272デフォルトの名無しさん
NGNG自分が作った関数の説明をどのように書いているか、興味があるんだけど。
0273デフォルトの名無しさん
NGNG個人でしか使わないが
たいていはoperator bool定義してるから。
void*のほうがいいんだろうけどね。
0274デフォルトの名無しさん
NGNG後者。
NULLは処理系依存。
0275デフォルトの名無しさん
NGNGNULLが全bit0かどうかは処理系依存だけど
if(NULL)は必ず偽になるし、0を代入するとNULLになるのは規定されてる
0276デフォルトの名無しさん
NGNGそれは知らなかった。
サンクス。
0277デフォルトの名無しさん
NGNGやっとわかった'NLLL'を選んだらダメだろ
0278デフォルトの名無しさん
NGNG>NULLが全bit0かどうかは処理系依存だけど
プ
まあそりゃ単なるdefineだから1かも2かもしれん罠。
そんなイタズラは別として、おまえ勘違いしてない?
もしくは勘違いしているのは>>274かも知れない。
ヌルポインターは必ず0ですよ? Cではね。
たいていは
#define NULL 0
だが、古いコンパイラには
#define NULL (void *)0
なんてのもあるかもね。
しかし、
#define NULL 1
などはありえません。
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNG(゚Д゚)ハァ?
0281デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGそれが言いたかったのか?
0285デフォルトの名無しさん
NGNG何が言いたいの? 知らなかったの? 勉強不足だね(w
0286デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG-0.0のことを言ってるのか?
0290デフォルトの名無しさん
NGNGCのこと
0291デフォルトの名無しさん
NGNG> IEEE754ならそうなるが
そんなこと言ったら、NULL で全ビット "0" になる処理系なんか腐るほどあるぞ。
0292デフォルトの名無しさん
NGNG>そんなこと言ったら、NULL で全ビット "0" になる
紛らわしいからおかしなこと書くな。誤解してる奴も多いし、お前も誤解していると思われるかも。
「ヌルポインターの内部表現」と書けば?
0293デフォルトの名無しさん
NGNGIEEE754のサポート率ってそんなに悪かったっけ?
0294デフォルトの名無しさん
NGNG0.0が全ビット0
-0.0がMSBが1で残りの全ビット0
参考までに
0295デフォルトの名無しさん
NGNG0296デフォルトの名無しさん
NGNG確かにそうだな。
指摘ありがと。
>>293
サポート率がいいからどうしたと言うんだ ?
0297デフォルトの名無しさん
NGNG> サポート率がいいからどうしたと言うんだ ?
IEEE754非準拠のアーキテクチャは稀だから
0.0は全ビット0でほぼ正解だということ
0298デフォルトの名無しさん
NGNG浮動少数をゼロフィルしてたら片手落ちと言うものだろ
0299デフォルトの名無しさん
NGNG> 標準C++にこだわりをもってコーディングしてるのに
すまん >>288 以下では初耳なのだが
0300デフォルトの名無しさん
NGNG「ほぼ」正解って何だよ。
そんなこと言ったら、ヌルポインタの内部表現が全ビット "0" って言うのも「ほぼ正解」じゃないのか ?
>>288 は、「必ず」って言う奴がいたからあげつらってんだよ。
0301デフォルトの名無しさん
NGNG標準C++にこだわりが無いなら
わざわざこんな議論をするまでもなく好きにしたらいいやん
0302デフォルトの名無しさん
NGNG現実劇にはほとんど困らないんじゃねーの?
自己満足的な議論としか思えないんだが。
0303デフォルトの名無しさん
NGNGbasic_string::c_strの領域に書き込んでもいいとか、
ベクタコンテナからT*ポインタを取り出すのにvector<T>::beginを使っていいとか
そういうことになるだろ
0304デフォルトの名無しさん
NGNG> basic_string::c_strの領域に書き込んでもいいとか、
> ベクタコンテナからT*ポインタを取り出すのにvector<T>::beginを使っていいとか
このあたりは、問題の発生する環境を何度も見たが、
今回問題になってるあたりは(一生出会わないくらい)レアなんじゃないのってこと。
実際にゼロでは困る環境を挙げて欲しい。
0305デフォルトの名無しさん
NGNG0306デフォルトの名無しさん
NGNG0307デフォルトの名無しさん
NGNG互換性は残すと思われる
0308デフォルトの名無しさん
NGNG自己満足的な議論を吹っかけてくんなボケ。
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG( ´,_ゝ`)
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG>よほど特別な理由がない限り将来国際規格非準拠の処理系が出るとは思えないのだが
NULLポインタの内部表現を全ビット0にするってのは国際規格になりましたか?
0313デフォルトの名無しさん
NGNGNULLポインタの内部表現は規格以前じゃボケ
0315デフォルトの名無しさん
NGNG大して利益無いから規定されてないものだと思うのだが。
あるとしたらfloatとかポインタとかが詰まってる構造体をmemsetで0埋め出来るぐらいか?
0316デフォルトの名無しさん
NGNGstruct SOMESTRUCT {
UINT cbSize;
... // ポインタ、浮動小数など
};
SOMESTRUCT s = { sizeof(SOMESTRUCT) };
Windowsプログラムだと頻出しないか?
0317デフォルトの名無しさん
NGNGとかね。
0318デフォルトの名無しさん
NGNGおいおい、それは
SOMESTRUCT s = {sizeof(SOMESTRUCT), 0, 0, 0, /* ..... */};
と等価なんじゃないか?
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGなにが 「とかね」 なのかわかんねー
0321デフォルトの名無しさん
NGNG>>317のコードでnullぽいんたの内部表現が分かるって事だろ
0322デフォルトの名無しさん
NGNG0323デフォルトの名無しさん
NGNG1.boolやenumをintで代用する奴は氏んだ方がよいと思うスレ
2.Nullポインタとfloatの0.0の内部表現は全ビット0がいいと思うスレ
どっち?
0324デフォルトの名無しさん
NGNG2の補数表現ならそうだろ
0325デフォルトの名無しさん
NGNG2の補数表現だと決まっているのかどうかが問題なのでは?
0326デフォルトの名無しさん
NGNG0327デフォルトの名無しさん
NGNG直接メモリを弄くって内容を書き換えるのはよくないってことだろ
0328デフォルトの名無しさん
NGNGすげー不便だ。
0329デフォルトの名無しさん
NGNGobjがクラスなら、それは危険だし
古い単純なデータ構造なら
DATA data={0];
obj=data;
これで簡単に0埋めできるよ
0330デフォルトの名無しさん
NGNGいや,0埋めしたとき浮動小数点数が0.0になるとは限らないとかいうから駄目なわけで
0331デフォルトの名無しさん
NGNGA a = {0};
は
A a = {0, 0};
と等価で
A a = {0, 0.0};
と等しくなるから、この場合は問題ない。
0332デフォルトの名無しさん
NGNGtemplate<class T>inline void zeroset(T*p,size_t n){while(n--)zeroset(*p++);}
classの類は特殊化しちゃえばいいし。
配列を楽に初期化したければマクロになるのかな
#define ZEROSET(x) zeroset(x,sizeof(x)/sizeof(x[0]))
double array1[N];
ZEROSET(array1);
anyclass array2[N];
ZEROSET(array2);
このようにして、自分で作った多倍長整数や、任意長浮動小数点数、
どこかで拾ってきたclassやcomplexやvector系など
どんなオブジェクトでも同じ扱いでzero初期化すると愉快か。
しかし、そもそも0という数値そのものが
汎用性の無い特殊なマジックナンバーと考えることもできる。
幾何平均を求めるときは0ではなく1で初期化だし。
0といえば初期化、初期化といえば0という固定概念は褒められたものではない。
何も考えずにとりあえず0を入れておくというのはおかしい。
「必要だから、0という意味のある値を意識的に代入する」
という本質を見失わなければ
memsetでchar(0x00)を埋めるという代用品は却下だろう。
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG参照や const なポインタをもってて、コンストラクタで設定するようなクラスは
どう考えたって0で初期化できないのはわかるだろ?
0335デフォルトの名無しさん
NGNG0で初期化できないだろといっても、
そもそもする必要がないので無問題。
332の template<class T>inline void zeroset(T&o) で
無理矢理したければ、
デフォルトコンストラクターの結果を無理矢理代入するような
スペシャライズをすればいいし
0336デフォルトの名無しさん
NGNGおまいらの関数やクラスは未来永劫使われると思ってるのか?
おまいらのプログラムは今のOSに依存してないのか?
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGそんなの増えたらヘタレプログラマは職を失う
0340デフォルトの名無しさん
NGNGクラスがoperator=(int)持ってりゃ済むことだろう
0341デフォルトの名無しさん
NGNGわざわざ自分でoperator=(int)を書くくらいなら
はじめから変な初期化機構使わないで
イニシャライザ作るだろ
0342デフォルトの名無しさん
NGNG典型的なCOBOLer様のご発言です。崇めましょう。
0343デフォルトの名無しさん
NGNGのどもと過ぎれば熱さ忘れるか... Y2K
あっ、>>338 の言うとおりなのかな。(藁
0344デフォルトの名無しさん
NGNG二度と顔見せるな
というスレ
0345デフォルトの名無しさん
NGNGそのイニシャライザを使うことと同じ方法で
ファンダメンタルなタイプに対しても初期化ができる?
0346デフォルトの名無しさん
NGNG0347デフォルトの名無しさん
NGNGで何か問題でもあるのか?
0348デフォルトの名無しさん
NGNG基本型にもコンストラクタがあるんだよね。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNGint i = int(54.28f * 0.999f);
キャストよりコンストラクタの方が美しいな。
0351デフォルトの名無しさん
NGNGそれはコンストラクタのように見えてコンストラクタではない
class A {...};
class B {
...
operator A()const{}
};
A a;
B b;
b=B(a);
この B(a) がコンストラクタではないように
一見コンストラクタに見えてコンストラクタではないこともある。
0352デフォルトの名無しさん
NGNGコピーコンストラクタじゃないのかと(ry
0353デフォルトの名無しさん
NGNGoperator A() はコピーコンストラクタじゃないだろ
ひさびさにアホ登場
0354デフォルトの名無しさん
NGNGヘェー
で、どこでoperator A()が使われてるの?
>>350
それはコンストラクタのように見えてコンストラクタではない。
変換関数だったかなんかそんな名前が付いてる。
0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNG変換関数ってoperator T()のことじゃないの?
0357デフォルトの名無しさん
NGNGint i = int(54.28f * 0.999f);
は一時オブジェクト作るから無駄だよね
0358デフォルトの名無しさん
NGNGでoperator T()が機能しているとするとすると、
int i(54.28f * 0.999f);
も基本的には同じ仕組みになっているはず。
しかしコンパイラは前者をすんなり通して、後者にだけ暗黙のキャストの警告を出す。
やはり前者は明示的なキャスト(の別表記)と解釈するのが妥当ではないか?
0359デフォルトの名無しさん
NGNGファンダメンタルはどのような表記をしても
コピーコンストラクターではなくてキャストと同じ
int i = int(54.28f * 0.999f);
int i(54.28f * 0.999f);
この2つのコードはアセンブラレベルで同じになる
0360デフォルトの名無しさん
NGNGユーザー定義型でも保障されてなかったっけ。
0361デフォルトの名無しさん
NGNGint(54.28f * 0.999f);
(int)(54.28f * 0.999f);
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNGたとえば情報が劣化するから明示的に呼び出してもらいたいときとか使えないし。
0364デフォルトの名無しさん
NGNG名前つきの関数を用意すればいいだろ。
0365デフォルトの名無しさん
NGNGtemplateとかで不便じゃん。
0366デフォルトの名無しさん
NGNGconstructorだけexplicit指定可能ってのは片手落だと思う
標準libraryなど簡単に変更できない位置付けのclassと
それの存在を踏まえた上でのapplicationなclassとの間で型変換をしたいとき
標準library側のclassのconstructorをいじるわけにはいかないから
applicationなclass側で標準library側のclassに対する
変換methodを用意することなるわけだが、
このときexplicit指定できないことによる痛みを実感してしまう
名前付きのmethodにすれば不明瞭さは無くなるが
templateのような場面で汎用性を維持するのが難しくなる
0367デフォルトの名無しさん
NGNGC#は奇形児Javaと違ってよいC++の子供だね。
0368デフォルトの名無しさん
NGNGC#はJavaの子
0369デフォルトの名無しさん
NGNGJavaの孫ではないわいな〜♪
それが何より証拠には〜♪
なんでもかんでも取り入れる♪
0370デフォルトの名無しさん
NGNGそれは隔世遺伝というんですよ
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGJava= 無頭児
C# = シャム双生児
0375デフォルトの名無しさん
NGNGハム・ソーセージ美味しい!
0376デフォルトの名無しさん
NGNGハムの人?
0377デフォルトの名無しさん
NGNGハム太郎の中の人も大変だな。
0378デフォルトの名無しさん
NGNG太
郎
美
味
し
い
!
0379デフォルトの名無しさん
NGNG動物虐待でタイーホ!!
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG言い返してやれ。
0382デフォルトの名無しさん
NGNG大前提:高級言語の話をアセンブラレベルで言うな。
0383デフォルトの名無しさん
NGNG0384デフォルトの名無しさん
NGNG同じレベルで話せると思うが
0385デフォルトの名無しさん
NGNGx86でもキャリーフラグなどはboolと考えてもいいんじゃないか?
あとbit系命令でメモリアクセスもできたはず
0386デフォルトの名無しさん
NGNGZ80のFレジスタはある意味bool型
0387デフォルトの名無しさん
NGNGで、_Boolできちゃったのよね。
無いと使い物にならない糞言語だって言われる時代が来たのが明白になったから。
この状況をどう同じレベルで話す?
0388デフォルトの名無しさん
NGNGそう言ってる奴の頭が使い物にならないだけだろ
0389デフォルトの名無しさん
NGNG1 / 0 を使う。
なに考えてんだか。
0390デフォルトの名無しさん
NGNGC厨の頭に真や偽などという人間の発想に近い概念はない。
あるのはただ0か1かのみなのだ。
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNGプログラムに必要な真偽値は論理学の真偽じゃねえ。
そうである か そうでない かだけだ。
そしてそれは 0 と 1 では決してない。
0393デフォルトの名無しさん
NGNGRuby や Scheme の 〜? の方が自然でいい感じ
0394デフォルトの名無しさん
NGNGその違和感は慣れでなんとかなりますよ
慣れればいいだけなんですよ
0395デフォルトの名無しさん
NGNGあらゆる場所で
if (! isFull()) {
って書かれてたソースを見たことがある。しかも、「!」使ってない場所は一つも無し。
当然、「!」を取って、メソッド名を isFoundEmpty に変えて、戻り値のboolean値を反転させた。
そのあと、何で「リファクタリング」にこの作業が紹介されてないのか、子一時間悩んだ。
こっちのほうがわかりやすいのに。
>>394
それは言ってはいけない言葉だと知れ。
0396デフォルトの名無しさん
NGNG!isFull のが分かりやすい。なんで変えたの。
呼び出す側の都合に合わせすぎると疎結合になる。
0397デフォルトの名無しさん
NGNGお前は大馬鹿だ。
満タンの逆は空っぽか?
ガソリンスタンドに行ってガソリンの残りが満タンじゃなきゃ
給油してたのを空っぽになってから給油するのか?
ガソリン空なら車は停止してるわ。
0398デフォルトの名無しさん
NGNG/* 一杯のときは何もしない */
} else {
ここに処理を書く
}
0399デフォルトの名無しさん
NGNGif(Not isFull())
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGif(not isFull()) { ... }
is not full の順番にならんがな...。
0402デフォルトの名無しさん
NGNGキャストすれば代入できるよね。
内容の保証まではしてない罠。
0403デフォルトの名無しさん
NGNGC/C++ はキャストすりゃ何でもアリだからな。
0404デフォルトの名無しさん
NGNGちゃんとした bool 値に変換されるよね。
0405デフォルトの名無しさん
NGNG(bool)1 と (bool)3 が同じ表現を持つと保障する必要性はないのかな?
別に if(b == true) と書いても
if(b != false) のように判定するようなコードを吐けばいいだけだし。
どちらにしろ bool だと特に何も問題が起こらないね。
0406395
NGNG依存関係は最初によく考えたさ。結合強度が高くなる設計の、
2クラス間でしか使われてないメソッドだった。
にもかかわらず、問い合わせの if(! isFull()) は山ほどあった。
わざわざ>>398や>>399みたいな冗長な書き方したくなっちまう
定義ってのは、つまるところ定義そのものが間違っている。
修正してやる。
>>397
馬鹿はあんた。
isEmptyじゃないぞ。isFoundEmptyだぞ。空なものが見つかった、だぞ。
俺が問い合わせたいのはな、isFullってのはな、「満室か?」ってことだ。
その逆は、「空きが見つかったか?」だ。
「空っぽか?」じゃないんだよ。何得意げな顔して「空っぽか?」、だ。
お前は本当に頭が空っぽなんじゃないかと問いたい。問い詰めたい。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG単語より演算子のほうが読みやすいと思うんだが…
0409デフォルトの名無しさん
NGNGん?「空っぽいかどうか」じゃないの?
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG0412395
NGNGをJavaちっくに並べ替えたんだよ。
isFoundAEmptyRoom
で、長いから
isFoundEmpty
にしたんだよ。
分かりずらくて悪かったな。直しておくよ。
0413デフォルトの名無しさん
NGNGhasRoom
0414デフォルトの名無しさん
NGNGわざわざ違う単語を使うのは混乱の元だ。
0415デフォルトの名無しさん
NGNGunderoccupied って言うんだ。
でも、この単語を日本人がどれだけ知ってる?
こんな単語を使うのは、英語圏の人かただの自己満足だ。
0416デフォルトの名無しさん
NGNGそんな単語を紹介するのは、頭でっかちの人かただの自己満足だ。
0417402
NGNGC#もキャストすれば代入可能。(Javaにはenumはないみたい)
0418デフォルトの名無しさん
NGNG列挙は簡単になるし、C/C++,C#とは違って、
クラスのように継承してタイプコードに実装を統合できるのが魅力だ。
今はEnum用途のクラスを自分で定義するしか無いがな……。
イマニミテオレ。
0419デフォルトの名無しさん
NGNGC#とは同じ。JavaのEnumクラスはC#のパクリだからね。
0420デフォルトの名無しさん
NGNG>JavaのEnumクラスはC#のパクリだからね。
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGJava がどんどんシンプルじゃなくなっていく。
大丈夫か? 初心を忘れたんじゃないか。
気が付けば MS の狙いどおりか。。。
0423デフォルトの名無しさん
NGNGJava作る側にとってはJavaがシンプルだと作りやすいけど、
その分使う側が苦労する。
CISCがシンプルだと作る側が作りやすいけど、
その分人間やコンパイラが苦労するのと同じように。
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGんなこたぁない。
0426デフォルトの名無しさん
NGNG自己満足じゃない!
日本人PGの英語能力の底上げは是非とも必要な事だ!
適切な単語があったらそれを使ったほうがいい!
0428デフォルトの名無しさん
NGNG(void*)0
0429デフォルトの名無しさん
NGNG> CISCがシンプルだと
それはすでに CISC じゃねーだろ。
0430デフォルトの名無しさん
NGNG0431デフォルトの名無しさん
NGNGそもそもRISC
0432デフォルトの名無しさん
NGNGは処理系依存ではなかったか?
0433デフォルトの名無しさん
NGNG0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNG>>423 が RISC を引き合いに出しているのは誰の目にも明らかだと思うが、主語が CISC なのはおかしいと言ってるだけだろ ?
日本語にしてみな...
「複雑な命令セットを持つコンピュータ (の命令セット) が単純だと作りやすいけど、」
0436デフォルトの名無しさん
NGNGunion{
int *p:
intptr_t i;
};
i=0;
*p=123212321;
intptr_tはポインタと同じサイズの整数型。名前間違ってるかも
0437デフォルトの名無しさん
NGNG保証されてるんだろうかとか考えることがあるんだけど、
保証されていようがされていまいが、
流石にそうなってない環境なんてないよね? よね?
0438デフォルトの名無しさん
NGNG> (int)0 の内部表現が 0 だというのは
禿しく意味不明。
(void*)0 の内部表現が int の 0 と同じだと言いたいのか?
そうであれば違うアーキテクチャは山ほど存在した。
0439デフォルトの名無しさん
NGNG違う違う。
例えば負の数はアーキテクチャによって
表現法が変わることがあるでしょ?
それと同じように、0 や正の数でも
表現法が変わることもあるのかどうかってこと。
0440デフォルトの名無しさん
NGNG整数0のすべてのビットが0であるかどうかと言う問題ではないか?
0441デフォルトの名無しさん
NGNG内部表現のすべてのビットが、ね。
C の段階では全てのビットは 0 であるとされる筈。
C の段階でのビット表現と
内部表現のビット表現が同じであるということが
保障されていれば何も問題ないんだけど...。
0442デフォルトの名無しさん
NGNGMS-IME のバカ...。
0443デフォルトの名無しさん
NGNG0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNG・ポインタと整定数0を比較するとNULLポインタとの間でだけ一致する
だろ。「定数」だけ。
あと、
・static変数の定義を省略すると=0を付けたのと同じ
・論理値を必要とするところでポインタを書くと==0と付けたことになる
から、うまいこと省略して書ける。
0446デフォルトの名無しさん
NGNG> ・論理値を必要とするところでポインタを書くと==0と付けたことになる
> から、うまいこと省略して書ける。
?
0447デフォルトの名無しさん
NGNG!=0 ?
0448445
NGNG0449デフォルトの名無しさん
NGNG同でも良いが
これ書いた奴ウザ過ぎ
何様のつもりだろうか
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNGそれ書いた奴はただネット上の意見をまとめただけ
要するにC使い自体が平均的に高飛車なんだよ
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG0455デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void){
enum answer {YES, NO, UNKNOWN};
enum voltage {HIGH, LOW, UNKNOWN};
enum answer mine = YES;
enum voltage input = HIGH;
return 0;
}
0456デフォルトの名無しさん
NGNGenum_test.c: In function `main':
enum_test.c:5: conflicting types for `UNKNOWN'
enum_test.c:4: previous declaration of `UNKNOWN'
make: *** [all] Error 1
各enum型変数の持つ値名(なんて呼ぶか分かりませんが)は
プログラムで一つの名前空間なの?
これって困るんですけど。私の使い方が間違っているのかなあ
0457デフォルトの名無しさん
NGNG構造体(か専用の名前空間)に閉じこめて使ってる。
struct answer { enum Enum{YES , NO , UNKNOWN}; };
struct voltage{ enum Enum{HIGH, LOW, UNKNOWN}; };
とかにしておいて
answer::Enum mine = answer::YES;
voltage::Enum input = voltage::HIGH;
という風に使ってる。(もっとスマートな解決法があるのかもしれんが...)
0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG0460455,456
NGNG>>458 ? namespaceという機能があってそれを使えばstructで
くるまなくても解決できるということ?
>>459 Visual C++だと>>455のコードもcompileできるよ、
という意味ですか?すまん、わからん。でもこんなこと
実装依存な分けないしなあ...
0462デフォルトの名無しさん
NGNG物事を真と偽に割り切れないタイプ。
#define TRUE 0
#define FALSE 1
#define UNKNOWN 2
とした上でint型関数を呼び出す。
0463デフォルトの名無しさん
NGNGすげークソな定義だな。
0464デフォルトの名無しさん
NGNGerror C2365: 'UNKNOWN' : 再定義; 以前の定義は '列挙子' でした。
とエラーが出る
0465デフォルトの名無しさん
NGNGinclude した .h ファイルを列挙しろや
0466455,456,460
NGNG#include <stdio.h>
namespace language{enum answer {YES, NO, UNKNOWN};};
namespace electricity{enum voltage {HIGH, LOW, UNKNOWN};};
int main(void){
enum language::answer mine = language::YES;
enum electricity::voltage input = electricity::HIGH;
return 0;
};
とやってみました.これで良いんですかね.
gcc -o enum_test enum_test.cppでコンパイル通りました.
何もやってないのでちゃんと動いているかはまだ分かりませんが。
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNGプログラム書くのやめた方がいい。
エラーなら例外を使え。
0469デフォルトの名無しさん
NGNGせめて、enum にしろよ。
>>468
> エラーなら例外を使え。
というような決め付けをするような頭の固い奴はプログラマーに向いてないよ。
0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNGfalseは0、trueは1って決まったんじゃないの?
0472デフォルトの名無しさん
NGNGとはいえ、TRUEが偽というのは気持ち悪い。
0473デフォルトの名無しさん
NGNG[#1] The header <stdbool.h> defines four macros.
[#2] The macro
bool
expands to _Bool.
[#3] The remaining three macros are suitable for use in #if
preprocessing directives. They are
true
which expands to the integer constant 1,
false
which expands to the integer constant 0, and
__bool_true_false_are_defined
which expands to the decimal constant 1.
[#4] Notwithstanding the provisions of 7.1.3, a program is
permitted to undefine and perhaps then redefine the macros
bool, true, and false.200)
0474デフォルトの名無しさん
NGNGbool型がない古い処理系では、typedef intやenumで
代用するのは普通だと思うが
0475デフォルトの名無しさん
NGNG0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG( ・∀・). | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' . V`Д´)/
(_フ彡 /←>>478
0480デフォルトの名無しさん
NGNG#define TRUE (1=1)
#define FALSE (!TRUE)
でいいんでない?
0481デフォルトの名無しさん
NGNG#define FALSE 0
に対するメリットを述べてください。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGエラー
0484デフォルトの名無しさん
NGNG馬鹿の馬鹿による馬鹿のための定義!
0485デフォルトの名無しさん
NGNGif (〜)
:
else
:
otherwise
:
とかにしろとでも?
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNGunknown例外を投げる奴は氏んだ方がよい
になるやかん。
0489デフォルトの名無しさん
NGNGきっとあなたは帰ってくるだろう!
0490デフォルトの名無しさん
NGNGnothing蛇内の?
真偽無だろ?
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNGヒデキ〜!
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG0498デフォルトの名無しさん
NGNG空即是色
0499デフォルトの名無しさん
NGNG「無題」という題名の絵が本当に無題なわけではないように。
0500デフォルトの名無しさん
NGNGttp://perso.wanadoo.fr/wibo/nedry/supinfocom/p2/zoom/strator/magrittebg.htm
0501500
NGNGttp://www.uwrf.edu/history/prints/magritte-pipe.html
0502デフォルトの名無しさん
NGNGi = 25
while i
puts "逝ってよし!"
i -= 1
end
変数 i の指すオブジェクトの値が0か否かではなく、オブジェクトが存在するか否かが
判定に使われてるわけで、値が0という整数値をとるオブジェクトは存在するわけで。
>>494
bool型は再定義する必要ないし、もしできたら困るでしょう
0503デフォルトの名無しさん
NGNGそんなあいまいなもの論理学を取り扱わなければならない
プログラマにとってはごみ以下である。
0504デフォルトの名無しさん
NGNG>>499
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGちゃんとキャストています。
#define true (float)1
#define false (float)0
0507デフォルトの名無しさん
NGNG0.0000001 = true
0.0000002 = false
これ最強
0508デフォルトの名無しさん
NGNG桁落ちとか誤差伝播の処理を解決するのがめんどくさそう
0509デフォルトの名無しさん
NGNGお前はブール型を数値演算の値として利用しているのか?
0510デフォルトの名無しさん
NGNG無が真である、というのは、命題全体が偽(空)である、
というレトリック。
つーか、他に解釈のしようもないわけだが。
0511デフォルトの名無しさん
NGNGtypdef enum {
false,
true,
} bool;
0512デフォルトの名無しさん
NGNG>>117
C言語を使ったことがあるひとなら、
1が真で、それ以外は偽であることを常識として知っているはず。
0513デフォルトの名無しさん
NGNGどういうところが?
0514デフォルトの名無しさん
NGNGマヌケだよな。
C言語の常識がすべての常識と勘違いしてそうだw
0515デフォルトの名無しさん
NGNG0516デフォルトの名無しさん
NGNG>1が真で、それ以外は偽であることを常識として知っているはず。
なんてことはC言語でも成り立たないから安心してくれ
0517デフォルトの名無しさん
NGNG0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG0520デフォルトの名無しさん
NGNGA 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デフォルトの名無しさん
NGNG0522マイク ◆yrBrqfF1Ew
NGNG0523デフォルトの名無しさん
NGNGつまんねー煽りいれてんじゃね。
0524デフォルトの名無しさん
NGNGマイク ◆yrBrqfF1Ew
の、ゴミさ加減だろう。
0525デフォルトの名無しさん
NGNGつまんねー煽りいれてんじゃね。
0526デフォルトの名無しさん
NGNGつまんねー煽りいれてんじゃね。
0527デフォルトの名無しさん
NGNGだからいいから、ゴミ(マイク ◆yrBrqfF1Ew)は書き込むな。
0528デフォルトの名無しさん
NGNGつまんねー煽りいれてんじゃね。
0529デフォルトの名無しさん
NGNGだからもうわかったから、ゴミ(マイク ◆yrBrqfF1Ew)は書き込むな。
0530デフォルトの名無しさん
NGNGだからもうわかったから、つまんねー煽りいれてんじゃね。
0531デフォルトの名無しさん
NGNG俺もそんな感じ
9年前に本で読んで、趣味でしか使ってなかった「プログラム言語の知識」が
今になって役に立つのは、不思議
0532デフォルトの名無しさん
NGNG不思議なのはあんたの頭だろう。
0533デフォルトの名無しさん
NGNG0534デフォルトの名無しさん
NGNGEXIT_SUCCESSが0だからしょうがねぇべさ。
#しまった、頭悪そうな発言スレ行きか
0535デフォルトの名無しさん
NGNG自分が知識を持っていないことを懸念しているのだと思うのだが。
0536デフォルトの名無しさん
NGNGtemplateもthrowも9年前にあった
実際の処理系に実装されていたかどうかはともかく
■ このスレッドは過去ログ倉庫に格納されています