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