boolやenumをintで代用する奴は氏んだ方がよい
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG「チミはなんで勝手にboolなぞという型で受け取ってるのかね!これは列挙型だよ!君のせいで修正が大変だ」
とか言われると心底ムカつく。
みんなはどうよ?
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};
と等しくなるから、この場合は問題ない。
■ このスレッドは過去ログ倉庫に格納されています