C++0x 3 ..
[2ch|▼Menu]
280:デフォルトの名無しさん
08/04/12 20:26:55
>>279
0xが読めるなら0xだろうと0bだろうと保守性は変わらないんですから
0xが読めない人にのみ意味のある保守性の向上ということですよね?

普通に読めばそういう意味になると思いますが
どのような飛躍があるのか教えて下さい
単純な私に教えて下さい

281:デフォルトの名無しさん
08/04/12 20:31:06
読める人でも分かりやすさに差があるし、
2進で書くか16進で書くかによって
コードに込められた意図に差が出ることだってあるだろ。

282:デフォルトの名無しさん
08/04/12 20:31:06
>>280
「読める」と「読みやすい」の違いは判る?

283:デフォルトの名無しさん
08/04/12 20:31:27
そもそも16種類のビットパターンすら覚えられないような奴が
73種類もある(しかも多くは多重に意味のある)C++の予約語を覚えられるわけがないから
そういう奴は普通に考えてC++をいじるような仕事が出来るわけがないと思うんだが
0b入れたとしてもさ

284:デフォルトの名無しさん
08/04/12 20:32:20
駄目だ、こいつ粘着だよw

285:デフォルトの名無しさん
08/04/12 20:32:53
>>280
読みやすさなら圧倒的に16進だろ
0bには別のメリットがあるに決まってるじゃん馬鹿なの?

286:デフォルトの名無しさん
08/04/12 20:33:16
16進テトリスとかやったことあるけど、
やりづらいことこの上なかったぞw

287:デフォルトの名無しさん
08/04/12 20:33:17
>>283
本当に単純なんだね

288:デフォルトの名無しさん
08/04/12 20:33:36
>>281
そんな意図はコメントやドキュメントに書くべきであって
リテラルの形式に勝手にそんな暗黙の約束を置く方がかえって保守性下がると思うんだが

289:デフォルトの名無しさん
08/04/12 20:34:54
じゃあ for とか while とかじゃなくて goto 使ってください。

290:デフォルトの名無しさん
08/04/12 20:35:29
>>282
それはもちろんゆとりでも対応表を片手に一つずつ変換していけば読むこと自体は出来るに決まっていますから
今までの「読める」はすべて「読みやすい」の意味だと思って下さい
言葉が足りなくて申し訳ありませんでした

では改めて「16進のビットパターンを覚えられなくて0xを読みにくいゆとりのため」以外の理由を教えて下さい

291:デフォルトの名無しさん
08/04/12 20:35:33
10進と16進の使い分けだってやってるだろ?
まさか意味も無く16進使ってるわけはないよな?

292:デフォルトの名無しさん
08/04/12 20:36:41
>>288
Unixのchmodも10進数で書いちゃう人ですか?

293:デフォルトの名無しさん
08/04/12 20:38:17
>>289
forが出てくれば繰り返しだとわかるけど
コード中に「0xAA」と「0b10101010」が説明なしに出てきて
一体どうやってプログラマの意図をくみ取ればいいんだ?
同じ数だぞ?

294:デフォルトの名無しさん
08/04/12 20:38:32
chmodを16進で書くのも読みづらいな。
あれは8進で書くべき。
2進が欲しいってのも似たような理由だな。
2進の方が分かりやすい所では2進が使えた方がいい。

295:デフォルトの名無しさん
08/04/12 20:39:59
2進が使いやすいとしたら4ビットせいぜい8ビットまでだろ
それ以上はかえって読みにくくなるし
読みやすさのためだけなら必要ないと思うんだけど

296:デフォルトの名無しさん
08/04/12 20:40:16
>>293
例えば5ビットずつ情報を与えたい場合であれば、
0b11011_11101_01011 と書けた方がいいだろう。

297:デフォルトの名無しさん
08/04/12 20:40:52
10進と16進の使い分けはそりゃあるだろう
おおむね「ビットに意味のある数」が16進でそうじゃない数を10進で書くよな

さて、2進で書きたい数というのは多分「ビットに意味のある数」だろう
16進とどう使い分けるんだ?

298:デフォルトの名無しさん
08/04/12 20:41:22
5ビットずつってのは16ビットRGBを扱う際に出てくる。

299:デフォルトの名無しさん
08/04/12 20:42:18
0bが却下されてる理由なんだったっけ
ビットオーダーが環境依存だからだっけ?
でもシフト演算子の << >> の方向にあわせて0bの記法をきめちゃってよさそうなのにな。

300:デフォルトの名無しさん
08/04/12 20:42:30
そんな書き方16進数でもできないじゃん
これ_挟むの

301:デフォルトの名無しさん
08/04/12 20:44:22
できるようにすればいいじゃん。

302:デフォルトの名無しさん
08/04/12 20:44:54
RGB(なんたら)ってマクロでも使えばいいんじゃないの

303:デフォルトの名無しさん
08/04/12 20:45:41
>>299
ビットオーダーって単なる値には特に関係ないんじゃないかと思うんだが。
つか、それ言い出すと16進数もやばいんじゃね?

304:デフォルトの名無しさん
08/04/12 20:46:26
メモリ上にはそんな区切りはどこにも存在しないのに
勝手にそんなもの入れられるようにして何が嬉しいんだ?

305:デフォルトの名無しさん
08/04/12 20:46:53
その釣りは流石に稚拙だ

306:デフォルトの名無しさん
08/04/12 20:49:16
0x__________________1____________________________0________________________
とか書けるようになるんだろ
きめえ

307:デフォルトの名無しさん
08/04/12 20:54:26
_ を連続させられないようにすればいいだけだろ・・・そんなの。

308:デフォルトの名無しさん
08/04/12 20:56:11
>>307
お前はマクロ引数の反省を全く学んでいないんだな

309:デフォルトの名無しさん
08/04/12 20:57:08


310:デフォルトの名無しさん
08/04/12 20:57:27
個人的にはどっちでもいい。(特に欲しいとは思わないけど、入っても構わない)
おまえらの執着心には感心する。

311:デフォルトの名無しさん
08/04/12 21:01:14
導入されてる言語があって、そこで別に不自由ないんだから、
導入されても別に構わんだろ。
使いたくなきゃ使わなきゃいいんだし。

312:デフォルトの名無しさん
08/04/12 21:01:32
ここは変態言語らしく1〜36進数までサポートしようぜ

313:デフォルトの名無しさん
08/04/12 21:04:42
>>311
そんなのはC++の標準団体に言えよ
とりあえずそんな消極的な理由じゃ話にならない

314:デフォルトの名無しさん
08/04/12 21:06:41
委員会に却下された理由ってなんなの?

315:デフォルトの名無しさん
08/04/12 21:06:53
そういえば85進数でIPv6書こうっていうRFCがあったな

316:デフォルトの名無しさん
08/04/12 21:07:25
おお・・・驚異の1進数・・・
でも、便利そうな状況はありそうな気がするから困る。

const char hoge[] = "abcdefg";
size_t btof =    0u11111;

とか。

317:デフォルトの名無しさん
08/04/12 21:07:52
等幅で見て

318:デフォルトの名無しさん
08/04/12 21:14:30
一進数は便利だ
数えれば幾つかすぐ分かる

319:デフォルトの名無しさん
08/04/12 21:17:40
#define unitary(s) (sizeof(s)-1)

unitary("11111"); /* == 5 */

320:デフォルトの名無しさん
08/04/12 21:18:36
unitaryじゃなくてunaryか

321:デフォルトの名無しさん
08/04/12 21:18:48
そこはこうだろ・・・

#define unitary(u) (sizeof #u - 1)

unitary(11111); /* == 5 */

322:デフォルトの名無しさん
08/04/12 21:23:46
今でも8進数の数字に8や9が使えちゃうことだし
0b入れたとしても中で2や3が使えることになってカオスになりそうだからいらない

323:デフォルトの名無しさん
08/04/12 21:25:36
エラーになるけど??

324:デフォルトの名無しさん
08/04/12 21:26:17
コンパイラが親切なだけじゃないの?
規格上はおkだったはず

325:デフォルトの名無しさん
08/04/12 21:34:45
octal-literal:
 0
 octal-literal octal-digit

octal-digit:
 0 1 2 3 4 5 6 7

と書いてあるが・・・。

326:デフォルトの名無しさん
08/04/12 21:36:29
あれ?
昔の話だったかもしれん。すまん

327:デフォルトの名無しさん
08/04/12 21:46:32
K&Rの2版で8と9は使えなくなったと書かれていたが。

328:デフォルトの名無しさん
08/04/13 10:18:06
C89の仕様ができるまでは、
そのへんルーズな処理系がいっぱいあってなゴホゴホ

329:デフォルトの名無しさん
08/04/13 16:44:18
ビットマスクには2進を使いたいじゃんね

330:デフォルトの名無しさん
08/04/13 17:25:44
15年前にアセンブラからCに移った時は欲しくて仕方なかったけど、
リテラル書くって、要するにマジックナンバー書くってことじゃん。
ダメ。
マクロなり変数なり関数なり、名前を付けてそれ使いなさい。
だから不要。

331:デフォルトの名無しさん
08/04/13 17:28:58
その理屈だと整数リテラルはすべて禁止だな

332:デフォルトの名無しさん
08/04/13 17:29:05
マクロ/変数(定数?)/関数が返す値をどうやって書くかという話なんだけどな。

333:デフォルトの名無しさん
08/04/13 17:35:07
1ビットだけならマクロ使って何ビット目が立ってるか書いた方が分かりやすいが、
複数ビットある場合は微妙かもしんないな。

334:デフォルトの名無しさん
08/04/13 17:44:01
結局はこう書いてこう使うだろ
#define FLAG_HOGE 0x01
#define FLAG_FOO 0x02
#define FLAG_BAR 0x04
...

if(flg & (FLAG_FOO || FLAG_BAR)){
  ...
}

これが「#define FLAG_BAR 0b00000100」になったからって読みやすいとはとても思えないし
「if(flg & 0b00000110)」なんてのを書くようなら0b関係なく論外(「if(flg & 0x06)」だとしても同じこと)

335:デフォルトの名無しさん
08/04/13 17:46:55
64ビットの2進リテラルはきもい

336:デフォルトの名無しさん
08/04/13 17:46:59
もう想像力の欠如した粘着の相手はやめようぜ

337:デフォルトの名無しさん
08/04/13 17:48:50
ここは想像力の欠如した粘着と
想像力がありすぎる女子中学生好きのスレ


338:デフォルトの名無しさん
08/04/13 17:52:09
なんで || なんだよー

339:デフォルトの名無しさん
08/04/13 17:53:22
「1ビット目と3ビット目と4ビット目と9ビット目と12ビット目が立ってるか判定するときに
if(flg & 0b100100001101)って書ければ便利じゃん?0x90dって書くよりわかりやすいじゃんじゃん???」
ってのが0b厨の希望ということですね

規格に意見する前にもっとましなプログラミングスタイルを勉強した方がいいと思いますよ

340:デフォルトの名無しさん
08/04/13 18:02:14
面白いキャラ設定に興奮するのはいいけど、
相手より先に自分が興奮してると馬鹿にしか見えないですよ。

341:デフォルトの名無しさん
08/04/13 18:10:57
なんか自分を規格を策定する側にいると誤解して、必死に規格の正しさを言い張ってる
お子ちゃまがいますね

342:デフォルトの名無しさん
08/04/13 18:12:17
お前ら>>257にも少しは意見を寄せろ

343:デフォルトの名無しさん
08/04/13 18:12:59
まだやってるのかよ

344:デフォルトの名無しさん
08/04/13 18:16:54
こうまで論争の余地のある機能なんだったら
だったら入れるだけ入れて、使うかどうかは実装者に任せるのが
今までのC++のスタンスとして正しい

345:デフォルトの名無しさん
08/04/13 18:34:27
>>257
typeof(T+U) add(T, U)(t t, U u);

Dだとこうかな。TやUがstaticなopAddのオーバーロードを持ってると上手く動かないけど。

346:デフォルトの名無しさん
08/04/13 18:38:58
美少女中学生にオーバーライド

347:デフォルトの名無しさん
08/04/13 19:06:18
議論の余地ないだろ
入れろって言ってるやつが16進数表記では自分は読めないって以外の理由を
いまだ示せていないし

348:デフォルトの名無しさん
08/04/13 19:15:29
それが最大にして絶対的な理由だとなぜ気づかないんだ

349:デフォルトの名無しさん
08/04/13 19:15:32
読める読めないのみ議論の論点だと言い張ってる馬鹿が議論を放棄してるだけ
読める読めないが論点だと言うのなら、10進数表記以外に16進数表記が必要な理由でも説明してみろ

350:デフォルトの名無しさん
08/04/13 19:18:00
論点もなにもただのスレ違いだろ

351:デフォルトの名無しさん
08/04/13 19:18:54
プログラミング言語の全ての機能は可読性のためにあるんだよ
それがいらないって奴はBrainfuckでも使ってろ

0bが入ったって少なくとも可読性が下がることはない
だったら入れるべき

352:デフォルトの名無しさん
08/04/13 19:19:43
>>349
ありません。
16進数表記を必要としている人は、10進数を脳内で16進数変換できない頭の悪い人だけです。
だから俺は要りませんよ、16進数。

353:デフォルトの名無しさん
08/04/13 19:19:54
16進数が必要なのはコンピュータが2進数だから
そのコンピュータを低レベルで扱おうとしたとき16進数で書けた方が
人間にとって読んだり書いたりしやすくなる

354:デフォルトの名無しさん
08/04/13 19:20:45
>>349
16進数表記はビット演算のためです
そして2進数表記も入るとすればビット演算のためです
同じ機能は2つもいりません

355:デフォルトの名無しさん
08/04/13 19:21:02
勘違いしてるようだけど10進数と16進数は変換できないぞ
16進数と2進数はできるけど

356:デフォルトの名無しさん
08/04/13 19:21:53
じゃあ8進数が(ry

357:デフォルトの名無しさん
08/04/13 19:24:10
自説を曲げる気のない人にどれだけ言っても無駄じゃない?
なんか恐ろしく単純な人みたいだし

358:デフォルトの名無しさん
08/04/13 19:25:21
0bが欲しいって言ってるやつは0bと0xの変換が計算が必要な面倒な作業だと思ってるんだろうな

359:デフォルトの名無しさん
08/04/13 19:25:42
>>354
単項の - があるんだから、二項の - は廃止したほうが良いだろうね。
そのほうがシンプルになるだろう。

360:デフォルトの名無しさん
08/04/13 19:26:26
でなければ>>352みたいなことは書けない

361:デフォルトの名無しさん
08/04/13 19:26:35
p-> なんて贅肉。(*p). だけでいい。
p[i] もいらね。*(p+i) だけでいい。

362:デフォルトの名無しさん
08/04/13 19:26:53
>>358
0bが要らないって言ってるやつは単純な二元論者だから、シンプルな人生が歩めるだろうね

363:デフォルトの名無しさん
08/04/13 19:27:06
10進と16進の変換は下位桁の状況が上位にずっと波及するから計算が面倒
2進と16進は(2進の)4桁ごとに変換が閉じるから楽ちん

こうですかわかりません

364:デフォルトの名無しさん
08/04/13 19:27:55
徹底的に無視される8進数カワイソス

365:デフォルトの名無しさん
08/04/13 19:28:07
素人にも理解できる問題は盛り上がって良いね。
そろそろ専用スレでも建てようか?

366:デフォルトの名無しさん
08/04/13 19:28:40
しかも読みやすくなるならまだしも長ったらしくて読みにくくなるだけだし

367:デフォルトの名無しさん
08/04/13 19:28:44
>>361
p[i]はマジで害悪にしかなってないからなくなった方がいいと実際思ってる
まるでCに配列が存在するかのような幻想を初心者に与えて混乱させる元凶になってるだけ

368:デフォルトの名無しさん
08/04/13 19:28:59
区切り入れられるようにすれば読みやすいと何度言えば

369:デフォルトの名無しさん
08/04/13 19:29:42
ただの荒しだろこいつら

370:デフォルトの名無しさん
08/04/13 19:29:53
>>367
バカすぎる・・・

371:デフォルトの名無しさん
08/04/13 19:30:46
それで読みやすくなるコードが既に誤ったコーディングスタイルだってことも指摘されてるのに

372:デフォルトの名無しさん
08/04/13 19:31:17
権威主義に落ちてるのさ。批判的精神を失ったら、もう技術者としては終わりだ

373:デフォルトの名無しさん
08/04/13 19:31:55
一人で両方の意見を書いてるマッチポンプ野郎が2人くらい来ている気がする

374:デフォルトの名無しさん
08/04/13 19:32:02
[]がなかったら宣言ができなくなる

375:デフォルトの名無しさん
08/04/13 19:32:07
>>371
定数を定義するする地点で使うことに問題は無いと何度言えばいいのだろうか。

376:デフォルトの名無しさん
08/04/13 19:32:39
>>368
何の機能もない表現をプログラム本文中に入れるのは問題だと思う
本文中の記号はプログラムの動作に何かをもたらすものでなければいけない
(使われ方次第では無意味になることもあるとしても)

377:デフォルトの名無しさん
08/04/13 19:33:36
>>376
それで読みづらくなるんだったら意味が無い。ただのバカだな。

378:デフォルトの名無しさん
08/04/13 19:33:53
>>376
おまえ、改行と空白を敵に回したな

379:デフォルトの名無しさん
08/04/13 19:34:10
コメントも敵に回してるな。

380:デフォルトの名無しさん
08/04/13 19:35:27
>>377
何の意味もない記号なんてものが(コメント以外に)ある方がよほど読みづらいわ

381:デフォルトの名無しさん
08/04/13 19:35:50
>>380
そろそろ苦しいから諦めろ。

382:デフォルトの名無しさん
08/04/13 19:36:01
>>378
トークンを区切るという立派な仕事があるじゃないか
0bの中のアンダースコアはそれすらないんだぞ

383:デフォルトの名無しさん
08/04/13 19:36:12
>>376
ぜひ作ってくれ。
全てのトークンがプログラムの動作に影響を与える言語。

384:デフォルトの名無しさん
08/04/13 19:36:26
盛り上がってきたね。いいぞいいぞ。どちらも負けるな。もっとやれ。

385:デフォルトの名無しさん
08/04/13 19:36:37
>>382
Dでそれが問題になってるという話は聞かない。
ただの妄想に過ぎないな。

386:デフォルトの名無しさん
08/04/13 19:39:04
>>383
C++は全てのコメント以外のトークンがプログラムの動作に影響を与えうる(もちろん与えないこともある)言語ですよ

0bの_は「絶対に」プログラムの動作に影響を与えない
0bXYと0bX_Yが違う意味を持つということはいかなる文脈でも絶対にない
無意味だと思わないか

387:デフォルトの名無しさん
08/04/13 19:39:41
上のほうで書かれてた5ビットずつのRGBってのもビット列自体に意味はないから
こんなの使う必要ないと思うんだけど

388:デフォルトの名無しさん
08/04/13 19:40:30
>>386
別に?

389:デフォルトの名無しさん
08/04/13 19:40:50
>>382
自明的にトークンを構成する文字の前後に冗長な空白を入れるのは禁止したほうが良いですね

390:デフォルトの名無しさん
08/04/13 19:42:16
>>386
「違う意味を持つということはいかなる文脈でも絶対にない」トークン列なんて無数に考えつくけど

391:デフォルトの名無しさん
08/04/13 19:44:22
変数名内の _ の使用も禁止。
全部英小文字のみにしろということか。

392:デフォルトの名無しさん
08/04/13 19:44:34
唯一使えるとしたらアイコンかなんかのパターンを記述するとき
ソースを見ただけでどんなアイコンか見当付きやすいってことくらいかな

他になんかある?

393:デフォルトの名無しさん
08/04/13 19:45:09
>>390
いやいや、そりゃあるだろうよ
でもそのトークン列で使われている記号はどれも、別のトークン列の中でなら区別に貢献する可能性があるわけだ

0bの中の_という記号は、それがどんな数値定数の中でも区別に寄与しない
機能自体が全く無意味なんだよ
あるトークンの中で無意味というのとは次元が違う

394:デフォルトの名無しさん
08/04/13 19:47:22
>>393
トークン間(空白等)は良くて、トークン内は許せないとする論拠は?

395:デフォルトの名無しさん
08/04/13 19:47:40
何でそれがダメなのか明確な理由が述べられていない。
さっさと言え。

396:デフォルトの名無しさん
08/04/13 19:47:49
>>391
D言語と同じようにするならその問題はない。

397:デフォルトの名無しさん
08/04/13 19:49:48
変数名に使える文字に _ を含めてる時点で
プログラムの見た目は非常に重要な要素だということを
言語レベルで認定しているようなもんなんだがな。

398:デフォルトの名無しさん
08/04/13 19:52:17
>>394
トークン間の空白はあるとないとで全く意味が変わる可能性があるじゃないか

ab /*「ab」という識別子*/
a b /*「a」と「b」という2つの識別子*/

_はあってもなくても絶対に何も変わらない

0b11 /* 10進数で3という数 */
0b1_1 /* これも10進数で3という数 */
0b____1___1_________ /* どう入れてみた所で3という数は変わりはしない */

_によって意味が変わることはどんなプログラムにおいても存在しない
だから無意味なんだ

399:デフォルトの名無しさん
08/04/13 19:53:35
>>397
abとa_bとa__bは違う識別子です
0b11と0b1_1と0b1__1は全く同じ意味です

400:デフォルトの名無しさん
08/04/13 19:53:36
int ab = 0;
int a_b = 0;
int a_b = 0;

意味は変わらないな。

401:デフォルトの名無しさん
08/04/13 19:54:07
>>398
何故無意味か説明できていない。
早く説明してくれ。

402:デフォルトの名無しさん
08/04/13 19:55:35
>>401
0bの中の_にプログラム的に意味がある場合がもしあるなら教えて下さい

403:デフォルトの名無しさん
08/04/13 19:55:40
>>398
空白だって連続している場所では意味を持たない、そうでない場所では意味を持つ
'_' だって数値リテラルの中では意味を持たない、そうでない場所では意味を持つ(識別子等)

さほど大きな違いがあるようには思えないのだが。

404:デフォルトの名無しさん
08/04/13 19:56:46
>>402
動作に違いが無いこととその存在が無意味であることには乖離がある。
なぜなら、プログラムはコンパイラだけが読むものではないからだ。

405:デフォルトの名無しさん
08/04/13 19:57:28
>>402
特定の文脈(この場合は0bの後)でのみ意味を持たないってだけでは?

406:デフォルトの名無しさん
08/04/13 19:57:55
>>401
398の説明で理解してもらえないとすれば
プログラム中の記号に「意味がある」というのはどういうことなのか
あなたの考えを聞かせていただきたい
可読性とか動作に関係ないことは除いてね

407:デフォルトの名無しさん
08/04/13 19:58:40
可読性に意味が無いと言う >>406 のプログラムは
たいそう汚いんだろうな。

408:デフォルトの名無しさん
08/04/13 19:59:51
そもそも必要あるの?
0b001_110_011 なんてやるより
(AAA | BBB | CCC) とかのほうが分かりやすいと思うんだけど

409:デフォルトの名無しさん
08/04/13 20:00:42
>>408
場合によるのでは?
極端なケースは上で出てきたアイコンのデザインとか。

410:デフォルトの名無しさん
08/04/13 20:01:42
ビットだけで考えてる人がいるようだが、
Dでは2進数に限らず _ を入れられるわけで、
長い10進数に区切りを入れるのもアリだ。

411:デフォルトの名無しさん
08/04/13 20:02:30
>>406
お前プロジェクトで人の話聞かないで周りに色々迷惑かけてそうだな
>>376から続いてる話なのにどうして「可読性に意味が無い」なんて馬鹿な読み方が出来るんだ?

412:デフォルトの名無しさん
08/04/13 20:02:46
move semanticsのディープな話題が出たときには沈黙してるくせに
おまえらって奴は

413:デフォルトの名無しさん
08/04/13 20:03:30
頭のおかしい奴が話を引っかき回してるようなので一回寝る

414:デフォルトの名無しさん
08/04/13 20:04:44
>>412
ムズカシイ話はワカラナイもん

415:デフォルトの名無しさん
08/04/13 20:04:57
>>410
そういや、お金の計算だと三桁ごとにカンマを入れるなぁ。
カンマの代わりに"_"を入れることができると。
int yen = 100_000_000;

416:デフォルトの名無しさん
08/04/13 20:05:26
>>403
確かにそう言われてしまうとそうなんだが
識別子中の_とリテラル中の_というのは全く別の扱いになる機能で
一方は全く無意味というのはどうなのかと

417:デフォルトの名無しさん
08/04/13 20:05:43
たまたま開いたら面白そうな話してたから参加してるだけ
普段はどんな話してるのか知らない

418:デフォルトの名無しさん
08/04/13 20:06:25
互換性的にはどうなの
__1とかって識別子になったっけ

419:デフォルトの名無しさん
08/04/13 20:06:48
>>418
途中にしか入れられないようにすれば問題ない。

420:デフォルトの名無しさん
08/04/13 20:09:45
・・・まさか >>413>>376 なのか・・・?
・・・ゴクリ。

421:デフォルトの名無しさん
08/04/13 20:14:09
もうC++0bにしちゃえよ

422:デフォルトの名無しさん
08/04/13 20:16:00
実際そうなりそうで怖い。2011年。

423:デフォルトの名無しさん
08/04/13 20:26:43
そんなに無意味な表記が嫌いなら一生マシン語でコード書いてろ

424:デフォルトの名無しさん
08/04/13 20:33:18
プログラミング言語自体、
マシン語のシンタックスシュガーみたいなもんだからな。
あくまでみたいなもんだけど。

425:デフォルトの名無しさん
08/04/13 20:36:17
>>412
美少女中学生の話も食い付き悪くてさみしい


426:デフォルトの名無しさん
08/04/13 20:58:02
>>425 昔から知的で美人の大学生のおねいさんの方がいいに決まってるんだが...


427:デフォルトの名無しさん
08/04/13 21:19:59
>>425
そんなオバサンの話されても。

428:デフォルトの名無しさん
08/04/13 21:29:25
構成された美少女中学生そのものが意味なのだ

パーツのどこそこに意味があるだのないだのとあげつらってみても
それらが集合して美少女中学生を構成しない限り意味を成すことはない

美少女中学生の一部分だけ見つづけると観察者はゲシュタルト崩壊を起こす
0b論も同じこと
いくら論じてもこの美少女中学生の現時点の美少女っぷりにはなんの影響も与えない

繰り返す
構成された美少女中学生そのものが意味なのだ

429:デフォルトの名無しさん
08/04/13 22:04:51
それは脳内美少女中学生ってことで FA?


430:デフォルトの名無しさん
08/04/13 23:08:55
お前らバイナリバイナリうるせーんだよ。

#include <boost/static_assert.hpp>

template<unsigned int v, unsigned int n> struct binary_i{
private:
BOOST_STATIC_ASSERT((n % 10) <= 1);

public:
enum{ value = (n % 10) + (binary_i<v, n / 10>::value) * 2 };
};

template<unsigned int a> struct binary_i<a, 0>{
enum{ value = 0 };
};

template<unsigned int v> struct binary{
enum{ value = binary_i<v, v>::value };
};

std::cout << binary<1001110101>::value << std::endl;

431:デフォルトの名無しさん
08/04/13 23:13:32
10桁までしか使えないじゃんか・・・。
もっといいマクロならそこら辺に落ちてる。

432:デフォルトの名無しさん
08/04/13 23:16:57
最低128ビットくらいは使いたいんだけど

433:デフォルトの名無しさん
08/04/13 23:18:04
0bでスレが加速するってどんだけスレ違いなんだよ

434:デフォルトの名無しさん
08/04/13 23:22:48
文句があるならそのマクロとやらを使ってとっととこのスレから出て行きやがれ

435:デフォルトの名無しさん
08/04/14 00:31:21
ここはconstexprを使った例を出すべきだろ…
C++0x的に考えて

436:デフォルトの名無しさん
08/04/14 00:39:07
どんな底辺プログラマが書き込んでるんだ?

437:デフォルトの名無しさん
08/04/14 00:39:51
boost の static_assert は式版のがないのがうんこだな。
#define BOOST_STATIC_ASSERT_EXPR(b) ((void)(char(*)[(b) ? 1 : -1])0)
くらい用意してくれないと constexpr で困る。
・・・って、constexpr の引数って静的な値として認識されるんだよね?

438:デフォルトの名無しさん
08/04/14 01:03:38
>>437
式版の有る無しで何が変わるの?

キャストやカンマ演算子は定数式にはなれなかったような気がするし、
静的な式なら評価タイミングも関係ないし、あんまり意味が無いような。

439:デフォルトの名無しさん
08/04/14 04:35:03
#define 0B_00001111 0xff

440:デフォルトの名無しさん
08/04/14 06:56:57
そうなのか・・・。
じゃあ constexpr の引数をチェックできないの?

441:デフォルトの名無しさん
08/04/14 10:27:41
>>440
メタ関数書けば?
外向きに一段 constexpr 関数かませば使いやすくはなるかも。

442:デフォルトの名無しさん
08/04/14 10:44:57
>>432
2進数を128桁も書きたいというお前がマレw

443:デフォルトの名無しさん
08/04/14 13:28:45
static_assert の式版とかいうやつを使って
具体的にどういうコードが書きたいのかもうちょっとkwsk

444:デフォルトの名無しさん
08/04/14 19:18:59
式に置換するマクロで

#define TOHEX(n) (STATIC_ASSERT_EXPR(sizeof #n <= 9), 0x##n)

みたいなことをやってんだけど、
まあこれはそのまあ constexpr にするわけにゃいかんが、
constexpr の引数を静的にチェックしたいと思ってね。
typedef が constexpr の中に入れれるなら別に
BOOST_STATIC_ASSERT を使えばいいんだけど、どうだっけ?
無理なら return STATIC_ASSERT_EXPR(hoge < 10), hoge; みたいなことができれば
面白いなあと思ってね。

445:デフォルトの名無しさん
08/04/14 22:37:44
いまさらだけど、0b の話って、
URLリンク(www.open-std.org)
が採用されたらさらに一般化されて解決されるんじゃないの?
誰も上で話に出してなかったけど ...

446:デフォルトの名無しさん
08/04/14 22:42:09
ユーザ定義リテラルは誰か途中で書いてなかったっけ
つうか0bの話ししてる奴の大半はドラフトなんか読んでないんじゃね

447:デフォルトの名無しさん
08/04/14 23:38:21
>>445
キモイ記法になるから組み込みにして欲しいって話だと思ってた。

448:デフォルトの名無しさん
08/04/15 00:21:30
>>445
>>259を忘れないで。
たぶんこれのことだよね?

449:デフォルトの名無しさん
08/04/15 00:49:32
>>259を理解できていたらここまでスレは加速しない。

450:デフォルトの名無しさん
08/04/15 01:23:02
あれって入る見込みありそうなの?

451:デフォルトの名無しさん
08/04/15 01:23:26
たぶん無理

452:デフォルトの名無しさん
08/04/15 03:11:10
入ったとしても定義できるのはサフィックスだけだから
0bは無理なので厨はお気に召さないだろう

453:デフォルトの名無しさん
08/04/15 07:23:28
別にサフィックス b でいいよ。

454:デフォルトの名無しさん
08/04/15 07:29:49
#define b0 0
#define b00 0
#define b000 0
// ... 一つの数値に128通りの#define
// = 2^129個の#define

455:445
08/04/15 09:59:34
すいません、アホな言い合いが続いていたので 259 を読み飛ばしてました。
でも constexpr って今の定義だとそんなに中にいろいろ書けないんじゃ?

456:デフォルトの名無しさん
08/04/15 18:47:23
ループを手動でアンロールすればいいっしょ。

457:デフォルトの名無しさん
08/04/15 18:47:45
ああ、配列アクセスしてる時点で無理なのか。

458:デフォルトの名無しさん
08/04/15 22:59:46
N2378 と最新のドラフト読む限りでは
suffix しか無理ながら,とりあえず constexpr リテラル化はできるような?
>>259 みたいに for 文を使用 (して,かつ constexpr 化) することは
現在の提案ではできないみたいですけれど

459:デフォルトの名無しさん
08/04/16 00:27:15
ようやくらしくなってきたが、未解決なのは変わらずか。

460:デフォルトの名無しさん
08/04/16 03:32:48
constexpr unsigned char operator "b" (unsigned int value) {
 return (value % 10 != 0) | ((value / 10 % 10 != 0) << 1) | ...;
}

このくらいならできるのか?

461:デフォルトの名無しさん
08/04/16 07:28:12
5bitしか扱えないけどね

462:デフォルトの名無しさん
08/04/16 07:36:04
いつの時代の住人だ

463:デフォルトの名無しさん
08/04/16 11:24:41
N2378 と N2588 に従うと以下のような感じになるとは思うんですが,
いかんせん以下をコンパイルして確認できる環境が存在しないので
間違いがある可能性が高いです.

template<char C>
unsigned long long binaryDigitToNum();

constexpr unsigned long long binaryDigitToNum<'0'>(){ return 0; }

constexpr unsigned long long binaryDigitToNum<'1'>(){ return 1; }

template<unsigned long long I, char C, char... TAIL>
constexpr unsigned long long binaryLiteralImpl()
{ return binaryLiteralImpl<I << 1 + binaryDigitToNum<C>(), TAIL>(); }

template<unsigned long long I, char C>
constexpr unsigned long long binaryLiteralImpl()
{ return I << 1 + binaryDigitToNum<C>(); }

template<char C, char... TAIL>
constexpr unsigned long long operator "b" ()
{ return binaryLiteralImpl<0, C, TAIL>(); }

普通の raw-form literal operator だと, '0', '1' 以外が来たときに
compile-time error を吐かせる方法がいまいちピンと来なかったので
variadic template form を使いました.

464:デフォルトの名無しさん
08/04/16 12:22:30
しかし、この例をみるにつけても C++0x は変態ですね

465:デフォルトの名無しさん
08/04/16 19:32:22
これはまだ分かりやすい方だろ。

466:デフォルトの名無しさん
08/04/16 21:30:21
美少女中学生は変態さん。なんと制服の下で身体を縄で縛って学校に行っちゃうのです

467:デフォルトの名無しさん
08/04/16 22:31:32
マジレスすると疲れるだけで全然えろくも変態でもない。

468:デフォルトの名無しさん
08/04/16 23:03:57
>467は人生の勝ち組

469:デフォルトの名無しさん
08/04/20 05:34:54
0b狂がいなくなったら誰もいなくなった

470:デフォルトの名無しさん
08/04/20 10:36:22
mailing2008-03読んでるけど、
0bで馬鹿らしくなって>>257くらいしか書き込んでないw

471:デフォルトの名無しさん
08/04/20 10:53:04
美少女中学生は空を見上げ待ち続けている…

472:デフォルトの名無しさん
08/04/20 12:20:10
C++0xで2進リテラルを作成するスレを別に立てたらどうだ?

473:デフォルトの名無しさん
08/04/20 12:22:39
糞スレたてんなよ

474:デフォルトの名無しさん
08/04/21 01:15:32
>>473
読まなければ良いのでは?

475:デフォルトの名無しさん
08/04/21 01:22:22
糞スレを立てると無駄なCO2を排出することになります

476:デフォルトの名無しさん
08/04/21 01:31:12
俺様のゲップに含まれるメタンガスに比べれば無視できる量だけどな

477:デフォルトの名無しさん
08/04/23 08:11:49
美少女中学生が排出したメタンを肺いっぱいに吸い込みたい

478:デフォルトの名無しさん
08/04/23 08:33:53
つ (美少女の)硫化水素

479:デフォルトの名無しさん
08/04/23 12:15:45
お前らスレタイ0x100回読め

480:デフォルトの名無しさん
08/04/23 18:33:01
スレンダーでタイツの似合う美少女中学生が俺の嫁

481:デフォルトの名無しさん
08/04/23 18:35:18
256回読みましたがわかりませんでした

482:デフォルトの名無しさん
08/04/26 22:18:03
>>481
美少女中学生について語ってはならないとは
スレタイにもテンプレにも書いてないんだが

# 個人的には平面の方が好きなんだけどな


483:デフォルトの名無しさん
08/04/26 23:25:12
C++0xは3次元あるいはそれ以上の次元を持つとはどこにも書いていないぞ。
まあ2次元とも決まっていないがな。
#ん、C++タンの出番だな。

484:デフォルトの名無しさん
08/04/26 23:27:23
N2582
新しい関数宣言方法(ラムダ式と同じ形にする案)
[]foo(int x) -> int { return x; }

485:デフォルトの名無しさん
08/04/26 23:30:30
[] は大変キモいので、こういうマクロを標準で提供して欲しい。
lambda とかいうヘッダファイルを用意して。

#define labmda []
foo(lambda foo(int x) -> int { return x; });

486:デフォルトの名無しさん
08/04/26 23:33:19
typo したがキニシナイ

487:デフォルトの名無しさん
08/04/27 00:49:50
[] にはもう既に慣れちゃった

488:デフォルトの名無しさん
08/04/27 03:30:50
委員会のキーワード忌避は強迫観念レベルだな

489:デフォルトの名無しさん
08/04/27 03:33:59
それほど既存のソースが多すぎるのさ。
そこはしゃーないと思う。
でも、C99 の #define bool _Bool みたいに
互換性を保ちつつキーワードを導入するテクはもっと使ってもいいと思う。

490:デフォルトの名無しさん
08/04/27 03:48:53
無名関数のおかげで無名構造体にコンストラクタとデストラクタを搭載できるようになりました!
大勝利ですね!

491:デフォルトの名無しさん
08/04/27 04:06:37
一方ロシアはコンストラクタをthisで定義できるようにした。

492:デフォルトの名無しさん
08/04/28 11:12:49
なんでlambda expressionのlambda-return-type-clauseって、
->を使うんだろ。
コロンじゃだめだったのかな。
たとえば、普通の関数も統一しようぜっていうN2582も、
こんな風に書けるのに。

[] func() : int
{
  return 0 ;
}

493:デフォルトの名無しさん
08/04/28 11:35:23
#define : ->
は無理だったっけ ...

494:デフォルトの名無しさん
08/04/28 11:44:20
>>492
見た目が違うだけじゃんw

495:デフォルトの名無しさん
08/04/28 13:33:02
 [] main(int argc, char* argv[]) -> int
 {
  //...
 }


496:デフォルトの名無しさん
08/04/28 18:35:05
>>492
コロンはコンストラクタの初期化子と競合しそうだな。

497:デフォルトの名無しさん
08/04/28 18:38:20
コンストラクタでは戻り値の型がないから大丈夫じゃね。
文法的な紛らわしさに関してはまああるかもしれないが。

498:デフォルトの名無しさん
08/04/28 18:46:28
ECMAScript4ってそんな感じじゃなかったっけ
いやだなぁ

499:デフォルトの名無しさん
08/04/28 19:30:15
function func() : int { return 0 ; }
だったか。ECMAScript4は文法キモすぎて見たくもない。
いつのまにかコンストラクタの初期化子まで採用してるし。

500:デフォルトの名無しさん
08/04/28 19:35:51
テンプレートもあるよ!
function func.<T>() : T { return new T(); }

501:デフォルトの名無しさん
08/04/28 20:35:43
ぐはぁ

502:デフォルトの名無しさん
08/04/28 20:42:16
しかしなぜ->なんだ
Haskellかよ

503:デフォルトの名無しさん
08/04/28 21:04:22
プログラミング言語 Scala
スレリンク(tech板)

Scala違いだ移動しる・・

504:デフォルトの名無しさん
08/04/28 22:49:10
returnでいいじゃんかよ
コンフリクトはないはずだ

[] func() return int
{
  return 0 ;
}

505:デフォルトの名無しさん
08/04/28 22:50:51
なんかもうどうやってもキモいんだが。

506:デフォルトの名無しさん
08/04/28 22:52:00
ラムダ式くらい 100% 型推論でやってくれ。

507:デフォルトの名無しさん
08/04/28 22:53:18
そもそもどうしてラムダと形を合わせたいんだ
コピペのためか?

508:デフォルトの名無しさん
08/04/28 22:56:04
関数型言語的には→なんだから、
->でいいんじゃないの?

509:デフォルトの名無しさん
08/04/28 22:58:39
関数型言語的にどうかは知らんしどうでもいいが
C系言語的には->は昔からずっと間接参照演算子だ

510:デフォルトの名無しさん
08/04/28 23:13:55
美少女中学生的には -> と [] はブラのホックの両端だから

511:デフォルトの名無しさん
08/04/28 23:26:17
>>504
それ、俺も思っていたんだけど、
C++の文法としては、何か違和感あるよね。

ところで、@と$がC++の規格にないのは、何か理由があるの?

512:デフォルトの名無しさん
08/04/28 23:30:21
[] int foo() { ... } で不都合があったから -> になったんだと思うが、
どんな不都合があったの?

513:デフォルトの名無しさん
08/04/28 23:50:13
returnsのほうがいい

514:デフォルトの名無しさん
08/04/28 23:53:10
>>512
(charからcharへの関数)を引数に取り(intからintへの関数)を返す関数
を引数に取り(charからintへの関数)を返す関数の型を、
C++03(「関数」は「関数へのポインタ」とする)とC++0xで書いてみてくれ。

515:デフォルトの名無しさん
08/04/28 23:58:27
int (*(int (*(*)(char (*)(char)))(int)))(char) のことだよね?

516:デフォルトの名無しさん
08/04/29 00:10:24
グロい

517:デフォルトの名無しさん
08/04/29 00:11:59
まぁ現状十分汚い言語なんだから、
多少醜くなってもいいじゃん

518:デフォルトの名無しさん
08/04/29 00:14:30
>>517
いいこと言うなあ。君のそのレスで俺の気持ちは吹っ切れたよ。

519:デフォルトの名無しさん
08/04/29 00:19:47
[]([]([](char)->char)->([](int)->int))->([](char)->int)

520:デフォルトの名無しさん
08/04/29 02:22:09
typedef char (*ctoc_t)(char);
typedef int (*itoi_t)(int);
typedef int (*itoc_t)(char);
typedef itoi_t (*ctoc_to_itoi_t)(ctoc_t);

typedef itoc_t (*answer_t)(ctoc_to_itoi_t);

こんな型何に使うかは知らんが、使うとしたら
きっと近くでitoc_t型やctoc_to_itoi_t型の変数も必要になるだろ
ならそんなキモい書き方しないで必要なものをtypedefで作るべき

521:デフォルトの名無しさん
08/04/29 06:35:41
>>519の方がわかりやすいが?

522:デフォルトの名無しさん
08/04/29 07:06:50
>>519
これは従来のアナルっぽい記法よりは読みやすいな

523:デフォルトの名無しさん
08/04/29 07:15:37
>>511
いまさらtrigraphやdigraphの要るような記号追加するのもねえ…ってことじゃないかと予想

524:デフォルトの名無しさん
08/04/29 07:38:26
>>523
そういう理由なのかなぁ。
しかし、trigraphやdigraphって廃止しても、それほど互換性の問題も無いんじゃないかなとおもったりするんだけど。
西側の、なまじ7bitで全種類の文字を表せちゃったので、悲惨なことになっている連中も、
結局使ってないみたいだし。

525:デフォルトの名無しさん
08/04/29 09:39:20
>>521
まずそんなものを書く状況自体が無いな。
あっても >>519 も読みづらいから typedef 使うわ。

526:デフォルトの名無しさん
08/04/29 11:51:29
C++でtypedefを禁止したらどんなカオスなコードになるか見てみたい

527:デフォルトの名無しさん
08/04/29 11:53:44
>>526
template メタプログラミングがかなり出来なくなる気が ...

528:デフォルトの名無しさん
08/04/29 11:58:25
>>526
decltype と auto を駆使することになる

529:デフォルトの名無しさん
08/04/29 18:05:21
あーはやくautoが欲しい

530:デフォルトの名無しさん
08/04/29 19:02:48
正直、auto 以外、いらん。初期化もまぁあればいいね、程度だし

531:デフォルトの名無しさん
08/04/29 19:46:54
ここまでいじっちゃうともう新しく言語作った方が早い気がするしな。

532:デフォルトの名無しさん
08/04/29 19:51:44
Cとの互換性をとりつつ拡張するのに苦労してんのにそんな事言うなよ

533:デフォルトの名無しさん
08/04/29 20:12:56
互換性無視できる
ネイティブディレクティブとか作ろうよ


534:デフォルトの名無しさん
08/04/29 20:36:05
もう互換性なんかとっくにボロボロなのに今更何を

535:デフォルトの名無しさん
08/04/29 21:37:43
>>530
初期化指定子で初期化指定が完了するのは美しいと思わんか

536:デフォルトの名無しさん
08/04/29 21:54:12
なぁ、これは俺の思い過ごしかもしれんのだが

ヒープ領域って誰が管理してくれるんだ?

ラムダ返されて、それ引数に関数呼び出して
関数の中でグローバルに束縛されて... ... ...

でも, らむだはデストラクションしないとまずいんだろ?


537:デフォルトの名無しさん
08/04/29 22:07:15
関数を動的に生成してるわけじゃないだろ

538:デフォルトの名無しさん
08/04/29 22:17:48
536 に便乗で聞くけど、
例えば C# の場合、ローカル変数を参照するようなラムダ式書くと、
クラスが自動生成されて、ローカル変数参照がメンバ参照に置き換わるんだけど、
そういう状態になった場合、デストラクタはどこで呼ばれるの?

ローカルスコープ内でしか使わないラムダ式ならいいけど、
例えば、「ラムダ式を返す関数」みたいなの作っちゃった場合。

539:デフォルトの名無しさん
08/04/29 22:21:56
そんなのローカル変数のポインタ返してるのと一緒だろ
クラッシュしても自業自得で済まされる話
C++はプログラマを全面的に信頼する言語ですよ

540:デフォルトの名無しさん
08/04/29 22:24:33
>>537
あんまマジにシンタックス見てないんであれなんだが

こんな感じの関数書くとするやん?
f(x, y) {
return [copy x]lambda(y){+ x; ...}
}
この場合, x はスタックじゃなくてヒープに取るしかないと思うんだ

で,
g(f(1), f(2)...)
とかな感じで, 呼び出したら?
f が返す関数に束縛されてる x がコピーされた領域は誰が回収するんだろ?

と、思った


541:デフォルトの名無しさん
08/04/29 23:01:43
ん、よくわからん。
スタックじゃないの?

542:デフォルトの名無しさん
08/04/29 23:04:43
alloca() を思い出した

543:デフォルトの名無しさん
08/04/29 23:08:10
new [...] (...) {...}
はないの?よくわからんけど

544:デフォルトの名無しさん
08/04/29 23:23:24
ラムダ式は関数オブジェクトのシンタックスシュガー
なので、単なる一時オブジェクトとして生成されると思う

545:デフォルトの名無しさん
08/04/29 23:24:34
関数から返せないということか。
何かエセっぽいな。

546:デフォルトの名無しさん
08/04/29 23:28:11
C的に考えると、それでいい気がする。

547:デフォルトの名無しさん
08/04/29 23:30:37
折角だからカリー化とかしたいのになあ。

548:デフォルトの名無しさん
08/04/29 23:31:35
ラムダキャプチャーを参照でなく値(コピー)にしたら返せる
関数オブジェクトと同じ
でも、戻り値の型を特定できないかも、新シンタックスで可能?

549:デフォルトの名無しさん
08/04/29 23:33:07
カリー化は手動だな

550:デフォルトの名無しさん
08/04/29 23:33:48
>>544
となると、>>543 みたいな、ラムダ式をヒープに取るような構文が必要じゃない?
(スマートポインタ使うにしても、まずはただのポインタが要るし。)

それか、ラムダ式から生成される関数オブジェクトが
適切な operator = を実装しててくれるなら別にどうでもいいことなのかな。

551:デフォルトの名無しさん
08/04/29 23:37:49
>>550
あっても困らないけど、なくても良いと思う
ポリモーフィズムは必要ないし、必要なら従来の関数オブジェクトがあるし

552:デフォルトの名無しさん
08/04/30 00:13:58
本物のC++プログラマは動的解決をしない。
本物のC++プログラマはコンパイル時に解決する。
コンパイラでできなければ、プリプロセッサでやる。
プリプロセッサでできなければ、それはやる価値が無いのだ。

553:デフォルトの名無しさん
08/04/30 00:16:03
new を入れたのが間違いの始まりだったんですね

554:デフォルトの名無しさん
08/04/30 00:30:05
プリプロセッサ(笑)

555:デフォルトの名無しさん
08/04/30 00:36:14
タイトルはどうなるんだろう。
「本物のプログラマはJavaを使わない」
あたりかな

556:デフォルトの名無しさん
08/04/30 00:36:39
本物のプログラマネタが分からないのは
流石に本物のプログラマとは言えないな。

557:デフォルトの名無しさん
08/04/30 00:45:50
本物のプログラマがわからなければ、そのネタは理解する価値が無いのだ。

558:デフォルトの名無しさん
08/04/30 01:03:02
>>555
間違いなく言語と環境をごっちゃにした反論が帰ってきそうなタイトルだなw

559:デフォルトの名無しさん
08/05/04 00:38:19
conceptがまだドラフトに入らないのが気になる
一番楽しみなのに

560:デフォルトの名無しさん
08/05/04 00:39:07
独立wordingの方でまだまだ直しが続いてる。

561:デフォルトの名無しさん
08/05/05 18:01:34
ここで聞くか、Boostスレで聞くか迷ったんだけど、
Unordered associativeコンテナの、bucket関連のメンバってなんに使うの?
規格読んだだけだと、どうもよくわからないんだけど。
あるキーがどのbucketに属するかのインデックスを返されたとしても、
実際のbucket単位に直接アクセスする方法って無いよね?
普通に要素へのイテレータしかないみたいだし。
そのどのbucketに入れられているかってことが分かって、ライブラリを使う側の人間にとって、何がうれしいの?


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5383日前に更新/166 KB
担当:undef