[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 09:48 / Filesize : 166 KB / Number-of Response : 901
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++0x 3



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/


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桁までしか使えないじゃんか・・・。
もっといいマクロならそこら辺に落ちてる。

432 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:16:57 ]
最低128ビットくらいは使いたいんだけど

433 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:18:04 ]
0bでスレが加速するってどんだけスレ違いなんだよ

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

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

436 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:39:07 ]
どんな底辺プログラマが書き込んでるんだ?

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

438 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 01:03:38 ]
>>437
式版の有る無しで何が変わるの?

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

439 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 04:35:03 ]
#define 0B_00001111 0xff



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

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

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

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

444 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:37:44 ]
いまさらだけど、0b の話って、
www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2378.pdf
が採用されたらさらに一般化されて解決されるんじゃないの?
誰も上で話に出してなかったけど ...

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

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

448 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 00:21:30 ]
>>445
>>259を忘れないで。
たぶんこれのことだよね?

449 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 00:49:32 ]
>>259を理解できていたらここまでスレは加速しない。



450 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 01:23:02 ]
あれって入る見込みありそうなの?

451 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 01:23:26 ]
たぶん無理

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

453 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 07:23:28 ]
別にサフィックス b でいいよ。

454 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 07:29:49 ]
#define b0 0
#define b00 0
#define b000 0
// ... 一つの数値に128通りの#define
// = 2^129個の#define

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

456 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:47:23 ]
ループを手動でアンロールすればいいっしょ。

457 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:47:45 ]
ああ、配列アクセスしてる時点で無理なのか。

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

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



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

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

461 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 07:28:12 ]
5bitしか扱えないけどね

462 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 07:36:04 ]
いつの時代の住人だ

463 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 12:22:30 ]
しかし、この例をみるにつけても C++0x は変態ですね

465 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:32:22 ]
これはまだ分かりやすい方だろ。

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

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

468 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:03:57 ]
>467は人生の勝ち組

469 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 05:34:54 ]
0b狂がいなくなったら誰もいなくなった



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

471 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 10:53:04 ]
美少女中学生は空を見上げ待ち続けている…

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

473 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 12:22:39 ]
糞スレたてんなよ

474 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:15:32 ]
>>473
読まなければ良いのでは?

475 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:22:22 ]
糞スレを立てると無駄なCO2を排出することになります

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

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

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

479 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 12:15:45 ]
お前らスレタイ0x100回読め



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

481 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:35:18 ]
256回読みましたがわかりませんでした

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

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


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

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

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

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

486 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 23:33:19 ]
typo したがキニシナイ

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

488 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 03:30:50 ]
委員会のキーワード忌避は強迫観念レベルだな

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



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

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

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

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

493 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 11:35:23 ]
#define : ->
は無理だったっけ ...

494 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 11:44:20 ]
>>492
見た目が違うだけじゃんw

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


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

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

498 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:46:28 ]
ECMAScript4ってそんな感じじゃなかったっけ
いやだなぁ

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



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

501 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 20:35:43 ]
ぐはぁ

502 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 20:42:16 ]
しかしなぜ->なんだ
Haskellかよ

503 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 21:04:22 ]
プログラミング言語 Scala
pc11.2ch.net/test/read.cgi/tech/1205156417/

Scala違いだ移動しる・・

504 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 22:49:10 ]
returnでいいじゃんかよ
コンフリクトはないはずだ

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

505 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 22:50:51 ]
なんかもうどうやってもキモいんだが。

506 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 22:52:00 ]
ラムダ式くらい 100% 型推論でやってくれ。

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

508 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 22:56:04 ]
関数型言語的には→なんだから、
->でいいんじゃないの?

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



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

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

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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<166KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef