- 1 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 21:53:47 ]
- The C++ Standards Committee
www.open-std.org/jtc1/sc22/wg21/ wiki ja.wikipedia.org/wiki/C%2B%2B0x C++0x pc11.2ch.net/test/read.cgi/tech/1149440647/ C++0x 2 pc11.2ch.net/test/read.cgi/tech/1191842951/
- 331 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:28:58 ]
- その理屈だと整数リテラルはすべて禁止だな
- 332 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:29:05 ]
- マクロ/変数(定数?)/関数が返す値をどうやって書くかという話なんだけどな。
- 333 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:35:07 ]
- 1ビットだけならマクロ使って何ビット目が立ってるか書いた方が分かりやすいが、
複数ビットある場合は微妙かもしんないな。
- 334 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:46:55 ]
- 64ビットの2進リテラルはきもい
- 336 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:46:59 ]
- もう想像力の欠如した粘着の相手はやめようぜ
- 337 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:48:50 ]
- ここは想像力の欠如した粘着と
想像力がありすぎる女子中学生好きのスレ
- 338 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:52:09 ]
- なんで || なんだよー
- 339 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:53:22 ]
- 「1ビット目と3ビット目と4ビット目と9ビット目と12ビット目が立ってるか判定するときに
if(flg & 0b100100001101)って書ければ便利じゃん?0x90dって書くよりわかりやすいじゃんじゃん???」 ってのが0b厨の希望ということですね 規格に意見する前にもっとましなプログラミングスタイルを勉強した方がいいと思いますよ
- 340 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:02:14 ]
- 面白いキャラ設定に興奮するのはいいけど、
相手より先に自分が興奮してると馬鹿にしか見えないですよ。
- 341 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:10:57 ]
- なんか自分を規格を策定する側にいると誤解して、必死に規格の正しさを言い張ってる
お子ちゃまがいますね
- 342 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:12:17 ]
- お前ら>>257にも少しは意見を寄せろ
- 343 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:12:59 ]
- まだやってるのかよ
- 344 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:16:54 ]
- こうまで論争の余地のある機能なんだったら
だったら入れるだけ入れて、使うかどうかは実装者に任せるのが 今までのC++のスタンスとして正しい
- 345 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:34:27 ]
- >>257
typeof(T+U) add(T, U)(t t, U u); Dだとこうかな。TやUがstaticなopAddのオーバーロードを持ってると上手く動かないけど。
- 346 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:38:58 ]
- 美少女中学生にオーバーライド
- 347 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:06:18 ]
- 議論の余地ないだろ
入れろって言ってるやつが16進数表記では自分は読めないって以外の理由を いまだ示せていないし
- 348 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:15:29 ]
- それが最大にして絶対的な理由だとなぜ気づかないんだ
- 349 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:15:32 ]
- 読める読めないのみ議論の論点だと言い張ってる馬鹿が議論を放棄してるだけ
読める読めないが論点だと言うのなら、10進数表記以外に16進数表記が必要な理由でも説明してみろ
- 350 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:18:00 ]
- 論点もなにもただのスレ違いだろ
- 351 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:18:54 ]
- プログラミング言語の全ての機能は可読性のためにあるんだよ
それがいらないって奴はBrainfuckでも使ってろ 0bが入ったって少なくとも可読性が下がることはない だったら入れるべき
- 352 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:19:43 ]
- >>349
ありません。 16進数表記を必要としている人は、10進数を脳内で16進数変換できない頭の悪い人だけです。 だから俺は要りませんよ、16進数。
- 353 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:19:54 ]
- 16進数が必要なのはコンピュータが2進数だから
そのコンピュータを低レベルで扱おうとしたとき16進数で書けた方が 人間にとって読んだり書いたりしやすくなる
- 354 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:20:45 ]
- >>349
16進数表記はビット演算のためです そして2進数表記も入るとすればビット演算のためです 同じ機能は2つもいりません
- 355 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:21:02 ]
- 勘違いしてるようだけど10進数と16進数は変換できないぞ
16進数と2進数はできるけど
- 356 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:21:53 ]
- じゃあ8進数が(ry
- 357 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:24:10 ]
- 自説を曲げる気のない人にどれだけ言っても無駄じゃない?
なんか恐ろしく単純な人みたいだし
- 358 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:25:21 ]
- 0bが欲しいって言ってるやつは0bと0xの変換が計算が必要な面倒な作業だと思ってるんだろうな
- 359 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:25:42 ]
- >>354
単項の - があるんだから、二項の - は廃止したほうが良いだろうね。 そのほうがシンプルになるだろう。
- 360 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:26:26 ]
- でなければ>>352みたいなことは書けない
- 361 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:26:35 ]
- p-> なんて贅肉。(*p). だけでいい。
p[i] もいらね。*(p+i) だけでいい。
- 362 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:26:53 ]
- >>358
0bが要らないって言ってるやつは単純な二元論者だから、シンプルな人生が歩めるだろうね
- 363 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:27:06 ]
- 10進と16進の変換は下位桁の状況が上位にずっと波及するから計算が面倒
2進と16進は(2進の)4桁ごとに変換が閉じるから楽ちん こうですかわかりません
- 364 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:27:55 ]
- 徹底的に無視される8進数カワイソス
- 365 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:28:07 ]
- 素人にも理解できる問題は盛り上がって良いね。
そろそろ専用スレでも建てようか?
- 366 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:28:40 ]
- しかも読みやすくなるならまだしも長ったらしくて読みにくくなるだけだし
- 367 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:28:44 ]
- >>361
p[i]はマジで害悪にしかなってないからなくなった方がいいと実際思ってる まるでCに配列が存在するかのような幻想を初心者に与えて混乱させる元凶になってるだけ
- 368 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:28:59 ]
- 区切り入れられるようにすれば読みやすいと何度言えば
- 369 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:29:42 ]
- ただの荒しだろこいつら
- 370 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:29:53 ]
- >>367
バカすぎる・・・
- 371 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:30:46 ]
- それで読みやすくなるコードが既に誤ったコーディングスタイルだってことも指摘されてるのに
- 372 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:31:17 ]
- 権威主義に落ちてるのさ。批判的精神を失ったら、もう技術者としては終わりだ
- 373 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:31:55 ]
- 一人で両方の意見を書いてるマッチポンプ野郎が2人くらい来ている気がする
- 374 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:32:02 ]
- []がなかったら宣言ができなくなる
- 375 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:32:07 ]
- >>371
定数を定義するする地点で使うことに問題は無いと何度言えばいいのだろうか。
- 376 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:32:39 ]
- >>368
何の機能もない表現をプログラム本文中に入れるのは問題だと思う 本文中の記号はプログラムの動作に何かをもたらすものでなければいけない (使われ方次第では無意味になることもあるとしても)
- 377 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:33:36 ]
- >>376
それで読みづらくなるんだったら意味が無い。ただのバカだな。
- 378 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:33:53 ]
- >>376
おまえ、改行と空白を敵に回したな
- 379 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:34:10 ]
- コメントも敵に回してるな。
- 380 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:35:27 ]
- >>377
何の意味もない記号なんてものが(コメント以外に)ある方がよほど読みづらいわ
- 381 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:35:50 ]
- >>380
そろそろ苦しいから諦めろ。
- 382 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:36:01 ]
- >>378
トークンを区切るという立派な仕事があるじゃないか 0bの中のアンダースコアはそれすらないんだぞ
- 383 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:36:12 ]
- >>376
ぜひ作ってくれ。 全てのトークンがプログラムの動作に影響を与える言語。
- 384 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:36:26 ]
- 盛り上がってきたね。いいぞいいぞ。どちらも負けるな。もっとやれ。
- 385 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:36:37 ]
- >>382
Dでそれが問題になってるという話は聞かない。 ただの妄想に過ぎないな。
- 386 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:39:04 ]
- >>383
C++は全てのコメント以外のトークンがプログラムの動作に影響を与えうる(もちろん与えないこともある)言語ですよ 0bの_は「絶対に」プログラムの動作に影響を与えない 0bXYと0bX_Yが違う意味を持つということはいかなる文脈でも絶対にない 無意味だと思わないか
- 387 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:39:41 ]
- 上のほうで書かれてた5ビットずつのRGBってのもビット列自体に意味はないから
こんなの使う必要ないと思うんだけど
- 388 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:40:30 ]
- >>386
別に?
- 389 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:40:50 ]
- >>382
自明的にトークンを構成する文字の前後に冗長な空白を入れるのは禁止したほうが良いですね
- 390 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:42:16 ]
- >>386
「違う意味を持つということはいかなる文脈でも絶対にない」トークン列なんて無数に考えつくけど
- 391 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:44:22 ]
- 変数名内の _ の使用も禁止。
全部英小文字のみにしろということか。
- 392 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:44:34 ]
- 唯一使えるとしたらアイコンかなんかのパターンを記述するとき
ソースを見ただけでどんなアイコンか見当付きやすいってことくらいかな 他になんかある?
- 393 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:45:09 ]
- >>390
いやいや、そりゃあるだろうよ でもそのトークン列で使われている記号はどれも、別のトークン列の中でなら区別に貢献する可能性があるわけだ 0bの中の_という記号は、それがどんな数値定数の中でも区別に寄与しない 機能自体が全く無意味なんだよ あるトークンの中で無意味というのとは次元が違う
- 394 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:47:22 ]
- >>393
トークン間(空白等)は良くて、トークン内は許せないとする論拠は?
- 395 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:47:40 ]
- 何でそれがダメなのか明確な理由が述べられていない。
さっさと言え。
- 396 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:47:49 ]
- >>391
D言語と同じようにするならその問題はない。
- 397 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:49:48 ]
- 変数名に使える文字に _ を含めてる時点で
プログラムの見た目は非常に重要な要素だということを 言語レベルで認定しているようなもんなんだがな。
- 398 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:53:35 ]
- >>397
abとa_bとa__bは違う識別子です 0b11と0b1_1と0b1__1は全く同じ意味です
- 400 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:53:36 ]
- int ab = 0;
int a_b = 0; int a_b = 0; 意味は変わらないな。
- 401 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:54:07 ]
- >>398
何故無意味か説明できていない。 早く説明してくれ。
- 402 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:55:35 ]
- >>401
0bの中の_にプログラム的に意味がある場合がもしあるなら教えて下さい
- 403 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:55:40 ]
- >>398
空白だって連続している場所では意味を持たない、そうでない場所では意味を持つ '_' だって数値リテラルの中では意味を持たない、そうでない場所では意味を持つ(識別子等) さほど大きな違いがあるようには思えないのだが。
- 404 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:56:46 ]
- >>402
動作に違いが無いこととその存在が無意味であることには乖離がある。 なぜなら、プログラムはコンパイラだけが読むものではないからだ。
- 405 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:57:28 ]
- >>402
特定の文脈(この場合は0bの後)でのみ意味を持たないってだけでは?
- 406 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:57:55 ]
- >>401
398の説明で理解してもらえないとすれば プログラム中の記号に「意味がある」というのはどういうことなのか あなたの考えを聞かせていただきたい 可読性とか動作に関係ないことは除いてね
- 407 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:58:40 ]
- 可読性に意味が無いと言う >>406 のプログラムは
たいそう汚いんだろうな。
- 408 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 19:59:51 ]
- そもそも必要あるの?
0b001_110_011 なんてやるより (AAA | BBB | CCC) とかのほうが分かりやすいと思うんだけど
- 409 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:00:42 ]
- >>408
場合によるのでは? 極端なケースは上で出てきたアイコンのデザインとか。
- 410 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:01:42 ]
- ビットだけで考えてる人がいるようだが、
Dでは2進数に限らず _ を入れられるわけで、 長い10進数に区切りを入れるのもアリだ。
- 411 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:02:30 ]
- >>406
お前プロジェクトで人の話聞かないで周りに色々迷惑かけてそうだな >>376から続いてる話なのにどうして「可読性に意味が無い」なんて馬鹿な読み方が出来るんだ?
- 412 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:02:46 ]
- move semanticsのディープな話題が出たときには沈黙してるくせに
おまえらって奴は
- 413 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:03:30 ]
- 頭のおかしい奴が話を引っかき回してるようなので一回寝る
- 414 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:04:44 ]
- >>412
ムズカシイ話はワカラナイもん
- 415 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:04:57 ]
- >>410
そういや、お金の計算だと三桁ごとにカンマを入れるなぁ。 カンマの代わりに"_"を入れることができると。 int yen = 100_000_000;
- 416 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:05:26 ]
- >>403
確かにそう言われてしまうとそうなんだが 識別子中の_とリテラル中の_というのは全く別の扱いになる機能で 一方は全く無意味というのはどうなのかと
- 417 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:05:43 ]
- たまたま開いたら面白そうな話してたから参加してるだけ
普段はどんな話してるのか知らない
- 418 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:06:25 ]
- 互換性的にはどうなの
__1とかって識別子になったっけ
- 419 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:06:48 ]
- >>418
途中にしか入れられないようにすれば問題ない。
- 420 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:09:45 ]
- ・・・まさか >>413 は >>376 なのか・・・?
・・・ゴクリ。
- 421 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:14:09 ]
- もうC++0bにしちゃえよ
- 422 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:16:00 ]
- 実際そうなりそうで怖い。2011年。
- 423 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:26:43 ]
- そんなに無意味な表記が嫌いなら一生マシン語でコード書いてろ
- 424 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:33:18 ]
- プログラミング言語自体、
マシン語のシンタックスシュガーみたいなもんだからな。 あくまでみたいなもんだけど。
- 425 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:36:17 ]
- >>412
美少女中学生の話も食い付き悪くてさみしい
- 426 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 20:58:02 ]
- >>425 昔から知的で美人の大学生のおねいさんの方がいいに決まってるんだが...
- 427 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:19:59 ]
- >>425
そんなオバサンの話されても。
- 428 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:29:25 ]
- 構成された美少女中学生そのものが意味なのだ
パーツのどこそこに意味があるだのないだのとあげつらってみても それらが集合して美少女中学生を構成しない限り意味を成すことはない 美少女中学生の一部分だけ見つづけると観察者はゲシュタルト崩壊を起こす 0b論も同じこと いくら論じてもこの美少女中学生の現時点の美少女っぷりにはなんの影響も与えない 繰り返す 構成された美少女中学生そのものが意味なのだ
- 429 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 22:04:51 ]
- それは脳内美少女中学生ってことで FA?
- 430 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:13:32 ]
- 10桁までしか使えないじゃんか・・・。
もっといいマクロならそこら辺に落ちてる。
|

|