v0.124

この辺も参照
- http://www.prowiki.org/wiki4d/wiki.cgi?BitsAndBools 
- http://www.prowiki.org/wiki4d/wiki.cgi?BooleanNotEquBit

現状危険コードってことで認識。

* == の返値の型は?

- 言語仕様: 比較演算子の返値は bool(つまりbit)
- コンパイラ: 比較演算子の返値は int(?)

intとbitじゃ違うやん。~
しかも、必ずしも int じゃない。~

 int i;
 bit valid = (0 == 0);
 bit invalid = (i == 0);

なんでやねん。

* castしないとダメですか?

- opCmp(), opEquals()の返値は int

opCmp()はintとしてopEquals()がintなのはいかがなものか。~
BitsAndBools のところで言ってるのは sortの高速化のためらしい。~
ふーん・・・。

 bit b = cast(bit)(obj1 == obj2); 

なんていかがわしいコードはいやだぞ。~
でも現状castしないとダメらしい?~

* booleanな型

| bool | bit | D標準のbooleanな型(の割にはint使ってませんか? |
| wbool | byte | 使い道不明 |
| dbool | int | opEquals() などの返値 |


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS