1 名前:デフォルトの名無しさん mailto:sage [2009/01/20(火) 23:10:49 ] The C++ Standards Committee www.open-std.org/jtc1/sc22/wg21/ wikipedia 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/ C++0x 3 pc11.2ch.net/test/read.cgi/tech/1204808027/ C++0x 4 pc11.2ch.net/test/read.cgi/tech/1214407525/
643 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 23:55:37 ] ローカル関数何に使うの?
644 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 23:58:59 ] プログラム書くのに使う
645 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 00:01:35 ] C++/Cでもみんなプログラム書いてるよ
646 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 00:10:04 ] ローカル変数にアクセスできるインライン(のみの)関数が一番いいと思う
647 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 00:12:53 ] グローバル変数にアクセスできない関数とかってないの?
648 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 00:51:07 ] >>643 sortに渡す比較関数とか即席で作りたいことあるじゃん。
649 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 01:00:01 ] ローカルクラスはテンプレート引数に渡せないからなぁ
650 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 01:02:31 ] >>648 正直どうでもいいな
651 名前:デフォルトの名無しさん [2009/04/29(水) 01:39:10 ] 無名関数でおk
652 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 04:08:45 ] 関数内クラスを活用しだすと 関数の中身が九割九分クラスになって残りはチョロっとしたループや分岐だけに成ったりするが これが不思議とメンテしやすいんだょな・・
653 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 05:26:32 ] おぞましいコード書いて悦にはいってんなょ
654 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 08:27:02 ] 高度なコードは理解できないという理由で拒絶する奴が出てくるのが困りもの
655 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 08:55:16 ] 高度なコードと聞いてケラケラと笑う美少女中学生
656 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 09:53:00 ] お前の勘違いぶりは犯罪者級
657 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 11:50:30 ] しかし、それが適性あり。
658 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 16:53:21 ] 三項演算子はバグの元。
659 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 17:02:57 ] 条件演算子と呼べって美少女中学生が嘆いてた
660 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:02:55 ] 条件演算子以外の三項演算子ってどんなのがあるのさ?:
661 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:12:50 ] 参考に聞かせてもらおうか、ですね わかります
662 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:29:18 ] それは演算子なのか?
663 名前:デフォルトの名無しさん [2009/04/29(水) 18:37:57 ] >>658 君はプログラミングやめた方がいい
664 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 19:17:26 ] >>663 俺が言ったことじゃなくて、人から言われたことです
665 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 19:41:00 ] >>664 なんの免罪符にもなってない
666 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 19:43:55 ] C言語の話ではないがCを参考にした演算子系を持ってる言語で第2項に順次式おいたときとか()でくくらずに条件式を項にしたときとかの挙動が信用できない。
667 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 19:48:15 ] >>664 傷口が広がるだけだぜ
668 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 19:55:12 ] >>667 何で?
669 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:11:12 ] >>664 ありそうでなかったパターンのいいわけだな。
670 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:16:14 ] レベルの低い現場で言われたこと無い? 三項演算子禁止とか。 >653-654の流れで書いたんだが
671 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:19:20 ] レベルの低い現場に加わるのは、 それなりのレベルの低さが要求されるので、 残念ながら未体験です。
672 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:21:15 ] ああ。やっと流れが飲み込めた。 レベル低くてすまんかった
673 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:46:55 ] で、三項演算子が0xで何か変わったのかね?
674 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:48:28 ] 発端は何気ない美少女中学生のつぶやき
675 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:50:06 ] gcc4.4のautoの使い心地とか誰か報告してくれよ
676 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:51:29 ] ローカルでstaticでない変数をauto変数って言ってたけど、違う意味になってしまった。
677 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:53:13 ] で、使い心地は?
678 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 23:02:47 ] つかったことがありません。
679 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 23:05:36 ] 使い心地も何も、新しい機能は何も無くて、自明な宣言の文字数を 省略できるだけだから、何も変らないんじゃね? 後方互換性を気にするなら、愚直に今まで通り宣言するだけだし。
680 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 23:06:08 ] たとえばイテレータを書くときとか便利そうだね。 つかったことないけどね。Auto。。。
681 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 23:13:38 ] 結局新機能なんか誰も使わないってことか そうだよな、互換性考えたら使えるわけないよな
682 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 23:33:46 ] >>681 C++に新たなパラダイムを与えるものならともかく auto は打つ文字数が減って腱鞘炎が直りました、 ぐらいしか変わらないという意味。
683 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 00:46:40 ] 大事じゃねぇか、「腱鞘炎が直りました」。
684 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 00:54:09 ] auto が一般的になればテンプレートの中で演算し放題なパラダイスが訪れるよ。
685 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 01:19:11 ] >>682 でも右辺値参照も誰も使ってないぞ 4.3からだから入ってから大分経つのに
686 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 02:58:28 ] マクロだとautoは便利。
687 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 08:31:39 ] >>684 D言語のように静的に文字列弄れる訳でもなし、戻り値推論(以下)できる訳でもなし、C++0x程度じゃまだまだ。 auto Square(T)(T t) { return t * t; }
688 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 08:57:44 ] 戻り値推論って有れば便利だけどさ、その程度の関数だったら、これでよくね // 関数の文法は統一されるはずだと信じてる template < typename T > [] Square( T t ) -> decltype(t * t) { return t * t ; } Boost.labmdaみたいな変態的なライブラリを使った変態的な型を返したい場合は、 重複はちょっと面倒だけど。 あと、動的に返す型が変わるような関数はどういう扱いになるの? コンパイルエラー?
689 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 09:48:57 ] >動的に返す型が変わるような関数 ? returnが二つ以上ある関数のこと言っているなら両方の共通の型になる。
690 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 09:55:47 ] いや、 if(乱数%2) return ほげほげ ; else return はげはげ ; みたいな。 共通の型? javaみたいに暗黙のうちに継承する型とかがあるの?
691 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 10:10:41 ] >>690 動的にって言うけど、それってコンパイル時に静的に解決しなきゃいかん問題だよね。
692 名前:デフォルトの名無しさん [2009/04/30(木) 10:11:38 ] >>690 C++で>>687 は出来ないよ。
693 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 11:14:12 ] >>690 intとlongならlongだし、A派生のBとA派生のCならAだし。
694 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 11:27:03 ] auto func = objf_list<>::choice(any); auto x = func(); 返り値の連鎖は無理臭いけど何が出てくるかわからんワクテカ感は0xでも味わえると思う。
695 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 19:41:06 ] >>688 今でも条件演算子でそういう状況になるので、 そのときどうなるかは決まっている。 それは戻り値推論でもそのまま採用すべきかものどうかは分からないけど。
696 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 00:05:47 ] ラムダ式は簡単な戻り値推論できるから、関数構文と統合されれば >>688 ならこう書けるはず template < typename T > [] Square( T t ){ return t * t ; }
697 名前:デフォルトの名無しさん [2009/05/02(土) 03:39:09 ] www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2855.html Move constructor は例外を投げてはいけない・・・という話から、解決策として noexcept という関数への修飾キーワードで例外を投げないことを 明示し静的にチェックできるようにしたうえで Move constructor はデフォルトで noexcept にしよう・・・という話から、ついでにデストラクタもデフォルトで noexcept にしようという話。 今更こんな壮大な変更が取り込まれる可能性があるのか、甚だ疑問ではあるが、 確かにすごく欲しいとは思う。
698 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 06:16:54 ] &&とか、本気なのか? ワザと誤解して間違いそうな文法考えて、「分かるヤツだけが分かる!」 って、選民意識を得るために作ってるとしか思えん。 もうちょっと分かりやすいのを考えてほしい・・・
699 名前:デフォルトの名無しさん [2009/05/02(土) 06:35:56 ] >>697 そこでキーワードをnothrowにしないのは意地?
700 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 08:08:24 ] 何の意地かは分からんがnothrowの方が分かりやすいのは確かだな
701 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 08:40:31 ] exceptの方が明示的でいいかな 「投げません」って言われても「何を?」って思うけど 「例外無し」って言われると「ああ、例外無いんだ」って思う
702 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 09:10:40 ] nothrowはすでに標準ライブラリに存在している名前だから無理っしょ
703 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 09:43:56 ] >>702 何のための名前空間。
704 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 09:50:52 ] 次期標準にしようとしているのに?
705 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 09:54:43 ] みんな使わないのに標準?
706 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 10:01:34 ] >>703 名前空間で対策できるってことは予約語じゃなくて単なる識別子として導入? そんなきもいのマジ勘弁
707 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 10:06:00 ] throw 1;って例外を投げてることになる?
708 名前:デフォルトの名無しさん [2009/05/02(土) 10:55:23 ] なる。
709 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 12:03:47 ] >>706 まさにその通り。 operator new 関数に nothrow_t 型を引数として受け取るオーバーロードがある。 で、 struct nothrow_t {}; extern const nothrow_t nothrow;
710 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 12:07:23 ] >>709 いや、それがあるからキーワードとして nothrow を追加するのは無理ってことだろ。
711 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 13:23:41 ] attributeでいいじゃん…とおもったらattributeじゃダメな理由も書いてるな 型システムに入れるとかアホか
712 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 14:58:33 ] C++0xがマトモに使われるとは思えなくなってきた。 C99と同じ道をたどるんじゃ。
713 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 15:04:38 ] initializer_listとかが一部で使われるくらいだろうなぁ コンセプトとかもう絶対無理
714 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 15:13:24 ] boostの中の人のような変態の為の機能だから普通にC++を使う人が使わないぐらいなら想定内
715 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 15:15:15 ] コンセプトはexport(笑)と同じ道を辿るだろう 誰も実装しない、出来ない
716 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 15:16:31 ] コンセプトは標準ライブラリやBoostの中で使われれば十分だよ。 テンプレートが関わるエラーメッセージの改善という程度のことに役立つと信じて。
717 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 15:17:41 ] いや、exportとは違うさ。 conceptを使うことには利点があるのだから。 exportは、コンパイル時間を多少短くできるってことぐらいしか利点がないから。 conceptなしでは、C++0xは語れないぜ。 C++0xの多くの機能が、conceptを前提にしているんだから。exportとはわけがちがう。
718 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 17:02:49 ] でも実装が出来ないんじゃなぁ conceptGCCとかいつまでやってんだよ 主な商用コンパイラも軒並みガン無視だし
719 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 17:04:22 ] conceptの実装は時間がかかるぞ。 だいたい、中途半端な実装をリリースして、互換性の問題を引き起こしてもらっても困る。
720 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 17:10:02 ] 互換性は諸刃の剣だな
721 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 17:11:48 ] conceptGCCはもう開発してないと思う… 9ヶ月くらい更新止まってるし、その前は1年3ヶ月更新止まってたし www.generic-programming.org/software/ConceptGCC/download.php
722 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 18:19:16 ] >>719 vcの人は1年くらいかかるとか言ってたな vc11には入るんだろうか…?
723 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 19:22:41 ] 本家の concept ブランチでやってるんじゃないの?と思ったら >At present, the concepts branch provides almost no support for concepts. ttp://gcc.gnu.org/projects/cxx0x.html とか書いてあるな、おい。 更新も 10 ヶ月止まってるっぽい。 ttp://gcc.gnu.org/viewcvs/branches/cxx0x-concepts-branch/
724 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 20:24:59 ] GCCが匙を投げたとなると他も追従するかもしれないな コンセプトオワタ
725 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 20:57:43 ] まさに絵に描いた餅ですね
726 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 21:08:03 ] コンパイラ開発者は標準化委員会にいないの?
727 名前:デフォルトの名無しさん [2009/05/02(土) 21:28:52 ] 少数で開発してるD言語にもコンセプト的な何かはあるのに、 GCCが実装できないってのは、C++の言語仕様の複雑さを物語っているようだ。
728 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 17:42:07 ] 規模と実装難易度を考えりゃ、Concept以外が全部実装されてからやっと本腰入れてConceptに取りかかるくらいのもんだろう。 4.5で何が実装されるかってだけでもwktk出来るさ。
729 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 17:54:55 ] コンセプトがないと拡張for文もきないしライブラリの作り直しにも本腰入れられないだろ さっさとしてくれ
730 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 00:35:12 ] 言語オタクな連中に規格を作らせるからこんな事になるんだ
731 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 01:36:56 ] そうだよな。実務的な言語がものすごくキモい化物になって行く様は、おぞましい。
732 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 01:58:18 ] 現状維持派 → 表に出てこない 変えたい派 → 騒ぐ 止める人がいない
733 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 08:44:52 ] HTML5ワークショップの実務に即した仕様策定がうらやましい
734 名前:デフォルトの名無しさん [2009/05/04(月) 13:08:00 ] それが真実なら、とうの昔に標準GCが規定されてるはずだ
735 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 23:47:01 ] しかし、本当にjavaより速いプログラムを作るのが難しい言語になって行くなァ。
736 名前:デフォルトの名無しさん [2009/05/04(月) 23:49:21 ] それはない。
737 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 23:58:25 ] VCが新ライブラリへの対応だけでも迅速に進めてくれればいいや 特に cstdint と regex
738 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:02:29 ] >>735 とりあえず > どんどん〜なっていく っていうのは無いはず。
739 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:24:22 ] i = i++ の結果は未定義なのでしょうか?
740 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:35:11 ] 未定義じゃないと思う。
741 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:36:57 ] a[i++] = i; の動作は未定義だそうだ
742 名前:デフォルトの名無しさん [2009/05/05(火) 00:37:51 ] 根拠
743 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:43:30 ] >>739 codepad.org/JCtHYXzj iは変化しないって思ってたけどそうじゃないんか。 実戦ではつかえないっすねー。
744 名前:デフォルトの名無しさん [2009/05/05(火) 00:49:59 ] 単にその処理系でそうなるだけなのか、C++でそういう定義なのか、分からないだろ。
745 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:51:04 ] (´・ω・`)知らんがな まぁ誰かが調べるまで気長に待てばいいじゃない
746 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:54:58 ] 未定義というよりは不定なのかな? C# では int i = 5; i = i++; System.Console.Write(i); で 5 が出力されるので疑問に思ってちょっと調べてみたんですけど 規格みると副作用とか副作用完了点とかよくわからない
747 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 00:56:34 ] 「未定義」と「不定」を区別するならそれぞれの定義を。
748 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 01:02:01 ] とりあえず++演算子は右辺に置くなということで。 「未定義or不定だからヤメロ」って言えれば楽なんすけどねー。 >>746 wktk
749 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 01:02:10 ] 区別はここみてそういう区別があるんだと思ったから www.st.rim.or.jp/~phinloda/cqa/cqa7.html
750 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 01:04:54 ] 補足 www.st.rim.or.jp/~phinloda/cqa/cqa7.html#Q8 未定義だそうだ。
751 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 01:06:29 ] おまえら揃いも揃ってスレタイよめないのか
752 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 01:12:15 ] 739程度が一目で未定義とわからない奴らが新規格のスレに何の用だ
753 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 01:19:27 ] >>739-750 何この程度の低い流れ。自演?
754 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 01:44:52 ] >>737 Regexは2008 SP1の時点で登載済み。TR1としてだけど。
755 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 02:10:50 ] TR1との違いってコンセプト対応してるかどうかくらいだっけ?
756 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 06:35:57 ] テンプレくらい読んでから質問しろ
757 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 06:37:42 ] >>752 Sequence pointsすら分からない奴が、 まだ確定してない規格知ろうなんて十年早いよな。
758 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 11:16:01 ] はいはいすごいすごいえらいえらいかしこいかしこい
759 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 12:34:08 ] フィンローダなつかしいなー あのころはCマガ面白かった
760 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 20:38:35 ] >>736 経験不足のおバカさんだな。
761 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 12:23:26 ] 0xとあんま関係ないけど、UNICODEソースは仕様上なんか規程されてるの? まぁ、サポートされてても日本語でソース書こうなんて思わないけどさぁ。
762 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 15:42:59 ] 日本語で書けるなら書きたい
763 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 15:49:00 ] ソースコードに実装依存の文字が使えるということになっている。 まあ、今までも、C++のコンパイラは、ほぼ例外なく実装依存の文字が、少なくとも文字列リテラルやコメント内で使えたし、 いまさら規定しても何も変わらないと思うが。
764 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 18:58:57 ] 「実装依存の文字」の話はしていない。 UNICODEの話をしている。
765 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 19:40:52 ] 実装依存か・・・。VCでこんなコードも 通るんだが、現場とかで見るよう担ったらヤダなぁ、 変換するのがダリぃ。 int 二乗(int 引数) { return 引数*引数; }
766 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 19:54:44 ] 識別子に漢字が使えるのはC++0xの仕様? コンパイラーの仕様?
767 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 20:18:28 ] >>764 「ソースコード」の文字列に関しては、何にも規定されてないと思うんだけど。 >>765 知らなかった。プリプロセッサにも使えるんだな。 ということは、ラムダ関数が実装された暁に、λをautoか[]に#defineすれば・・・。 まあ、正直使いたくないな。 >>766 C++0xでは、識別子に、「その他の実装依存の文字」が使えることになってる。 だから漢字が使えても規格上問題ない(ソースコードの移植性はない)
768 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 20:30:09 ] >>767 二点質問があります。 「その他」ではない文字は何ですか? C++0xに対応したコンパイラーが必ず使えなければいけない(移植性のある)文字セットは何ですか?
769 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 20:58:57 ] その他ではない文字というのは、 識別子の先頭の文字には、 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ 先頭以外ならば、上記に加えて、 0 1 2 3 4 5 6 7 8 9 また、"universal-character-name"というものが使える。 これは、/uもしくは/Uに続く、十六進数で指定する、 /uは4文字、/Uは8文字指定できる。 つまり、/uXXXX もしくは /UXXXXXXXX という形式になる。 その表現する所の文字は、十六進数の値の、ISO/IEC 10646で規定されている値に対応する文字、 つまりはUnicode。 だから、以下のコードは妥当、ということになるはず。この辺は実は詳しくないのだけれど。 //C++0xでは完璧に合法なコード int /u3042/u3044/u3046 = 0 ; もし、コンパイラがその他の実装依存の文字を許可するならば、上のコードは、以下と同じ int あいう = 0 ;
770 名前:デフォルトの名無しさん [2009/05/07(木) 21:12:15 ] フォワードスラッシュなのか…
771 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:14:50 ] 間違えたorz バックスラッシュだ。 int \u3042\u3044\u3046 = 0 ;
772 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 21:16:53 ] 自然数 エー 配列 代入 ここからゼロ、ワン、ツー、ここまで。 加速繰り返し 括弧 自然数参照 エヌ、エー 国家 ここから 標準の黒板に 書き出せ エヌ 書き出せ 標準の行末。 ここまで
773 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 22:20:09 ] JIS X 3014:2003を読むと処理系依存にその他の文字とか全然ないですね。 ソースコードの文字はユニコードにコードポイントがなければならないように なっています。 コンパイルの一番最初の段階で基本ソース文字集合(A-Za-z_0-9と基本的な 記号と空白類)か\uxxxx,\Uxxxxxxxxと言うようなユニコードの コードポイントに変換されそのあとに識別子としての解釈があります。 なので\uxxxx,\Uxxxxxxxxだろうとそのままの文字だろうと識別子に使えます。 ただし識別子に使用できる文字はA-Za-z0-9_と規格の付属書(appendix)Eにある 指定されたユニコード文字だけです。 いまこれを書くために読んだ限りですが。。。
774 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 23:00:49 ] >>772 #define駆使すればもっと自然な日本語にもできるぞ。 pc12.2ch.net/test/read.cgi/tech/1037458703/942
775 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 13:43:40 ] www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/#mailing2009-05
776 名前:773 mailto:sage [2009/05/08(金) 18:59:34 ] 訂正 > JIS X 3014:2003を読むと処理系依存にその他の文字とか全然ないですね。 は 「JIS X 3014:2003を読むとその他の文字が処理系依存とか全然ないですね。」
777 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 19:11:29 ] >>773 トライグラフの変換は?
778 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 19:45:00 ] おちんちんがトライグラフ!美少女中学生も赤面!
779 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 20:50:27 ] なんだ誰も mailing の話してないのか
780 名前:デフォルトの名無しさん [2009/05/08(金) 21:00:36 ] 何それ
781 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 21:11:47 ] 少ないしあんまり面白いのないんだもん 「for The-C++-After-0x」とかいう気が早すぎる奴くらい
782 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 21:13:52 ] 好きな男子との間に生まれた子の名前を考えるほど気が早い美少女中学生の話で盛り上がっております
783 名前:773 mailto:sage [2009/05/08(金) 21:35:43 ] >>777 トライグラフも同時だよ!
784 名前:デフォルトの名無しさん mailto:sage [2009/05/08(金) 22:32:40 ] >>781 なにげにあったら便利だね
785 名前:デフォルトの名無しさん [2009/05/09(土) 05:50:40 ] www.open-std.org/jtc1/sc22/wg21/ News 2009-05-08: The C++ Standard Core Language Issues List (Revision 63) is available News 2009-05-08: The C++ Standard Library Issues List (Revision 64) is available
786 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 19:46:37 ] g++ (GCC) 4.2.4って、C++0x 5対応済みなの?
787 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:00:07 ] ここに載ってるのは 4.3 以降だな。 ttp://gcc.gnu.org/projects/cxx0x.html
788 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:03:45 ] >>787 Thx
789 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 18:52:20 ] 美少女中学生が次のレスはまだかまだかとwktkしています
790 名前:デフォルトの名無しさん [2009/05/16(土) 16:21:23 ] 保守
791 名前:デフォルトの名無しさん [2009/05/16(土) 21:40:17 ] C++0xって、本当に今年、出るの? そう言う雰囲気を、ちっとも感じないのだが、 いきなり「出来ました」って出るの?
792 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 21:41:00 ] 予定は未定 この世界の納期は破るためにある
793 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 22:15:03 ] Committee draft以降は各国の意見調整をしながら 投票の繰り返しになるから、まあ地味っちゃ地味。 サイトにDISって文字が現れだしたらゴールは近い。
794 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 03:12:19 ] ラムダ周りが各国(日本除く)からフルボッコにされてるから簡単には終わらないと思う
795 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 03:37:38 ] ○○○ 2008が2007年に出たりするんだから c++ 0xが2010年に出てもいいじゃないか
796 名前:デフォルトの名無しさん [2009/05/17(日) 03:54:57 ] ○○○6月号は5月にでるんだから、C++0xは08年までに出さないといけなかった。
797 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 04:14:25 ] 0xって16進でしゅ。つまり2015まででしゅよ。by禿げ
798 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 04:59:41 ] それなら0x0xと書くべき
799 名前:デフォルトの名無しさん [2009/05/17(日) 09:29:12 ] >>798 それだとやっぱり09年までだろ。 オプソ厨のアホさ此処に極まれりだな。
800 名前:デフォルトの名無しさん mailto:sage [2009/05/17(日) 09:34:36 ] >>799 with whom you are fighting?
801 名前:デフォルトの名無しさん [2009/05/17(日) 15:03:37 ] 英語がわかんなくてあわあわする美少女中学生
802 名前:デフォルトの名無しさん [2009/05/17(日) 18:26:05 ] C++09 Attributes: Specify Your Constructs' Unusual Properties ttp://www.devx.com/cplus/Article/41694?trk=DXRSS_LATEST
803 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 07:27:37 ] "[[final]]"ってなんだよ・・・w かっこはひとつでいいじゃん
804 名前:デフォルトの名無しさん [2009/05/18(月) 07:36:47 ] それはどんな識別子でもキーワードにできる魔法の括弧だよ。
805 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:12:22 ] かっこわるい……
806 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:22:55 ] lisp 属の () を笑えない変態構文だらけなんだが こいつ等にシンタックスシュガーをかませようとか ってな, 話はでてこない???
807 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:36:57 ] C++の仕様考えてる人にはもはやLISPを笑わない人しか残ってないってことだろ。
808 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 09:39:43 ] FC++で関数型言語汚染が酷い mplやpreprocessorで「汚いlisp」汚染が酷い
809 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 10:54:31 ] 逆に考えるんだ LISPこそ、全てのプログラミング言語の最終形態なのだと 全てのプログラミング言語はその進化の果てにLISPと同一化するのだと
810 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 12:36:06 ] LISPは化け物だ。って格言無かったっけ。 すべてを飲み込んでしまうってやつ。
811 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 14:08:04 ] 俺は>>807 の言う通りの人間だ。 C++0x萌え、CLOS萌え
812 名前:デフォルトの名無しさん [2009/05/18(月) 20:49:24 ] 美少女中学生は余計なかっこつけが嫌いです。
813 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 20:58:22 ] とゆうことは 「美少女中学生はC++0xが嫌いです」 でおけ?
814 名前:デフォルトの名無しさん [2009/05/18(月) 21:33:13 ] >>810 むしろ寄生虫じぇねーの? いろんな言語に入り込んでるが、それ自体で使われることが少ないとかさ。
815 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 21:36:27 ] >>814 ほえ? 他の言語が Lisp のアイデアパクリまくってても、それに対して何も言わないが > それ自体で使われることが少ないとかさ ここ数年ずっと Lisp で納品物作ってるwW
816 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 22:24:34 ] いまPerlを勉強中 LISPよりしごと多そう
817 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 22:33:15 ] >>815 是非御社で働かせていただきたいでつ ><
818 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 04:11:41 ] >>815 ほえ、じゃねーよ。なめんなよ。
819 名前:デフォルトの名無しさん [2009/05/20(水) 23:21:35 ] 美少女中学生なんじゃねーの?
820 名前:デフォルトの名無しさん [2009/05/21(木) 05:18:19 ] はにゃ〜ん
821 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 18:47:30 ] 和訳:Rvalue References: C++0x Features in VC10, Part 2 d.hatena.ne.jp/ntnek/20090210/p1
822 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:07:42 ] 3ヶ月前じゃん まあ有用だとは思うが
823 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 21:05:44 ] comp.std.c++ に Scott Mayers がすごい勢いで投稿してるけど Effective の新版でも書き始めたんかな?
824 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:13:13 ] ものすごい勢いでcobol化していくc++。
825 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 06:42:15 ] >>823 どっちかというとC++0xに向けての改正版作成のためっぽい
826 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 07:01:05 ] >>824 COBOLというよりPL/Iの時の悲劇を思い出させる 巨大化しすぎてまともに使いこなせるユーザーがほとんどいなかった
827 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 07:04:25 ] PL/IとMulticsの失敗による教訓からUNIXとC:言語が生まれたが 時代はまた繰り返そうとしている 複雑化する一方のC++とWindows
828 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 07:49:46 ] PL/Iは最初から巨大だったんじゃないのか。 だいたい名前からしてでかすぎるだろ。
829 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 07:59:22 ] 現時点でもPL/Iのマクロ>>C++のテンプレートくらいですね。
830 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 08:55:26 ] C++0x を教訓により良い言語が生まれるならそれでいいじゃないか
831 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 14:49:31 ] C++を代替可能なC++より良い言語なんてどこにあるんだ あったら使いたい
832 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 15:06:52 ] D・・・いやなんでもない
833 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 15:12:08 ] Dのテンプレートで浮動小数点とか文字列引数に取れるのはうらやましい。
834 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 16:50:18 ] もう何年もC++使ってるから新しい仕様にも何とかついていけるが、 今からC++を始める人にとっては相当大変だろうな。 そして、禿はいつ第4版を書くのだろうか。
835 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 18:26:21 ] 別に全機能使うことはないだろう。STL使うだけでもわりと幸せ。
836 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 19:06:53 ] Boost.ConceptCheckにはよく世話になってる
837 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 19:13:58 ] STLをまともに使うのも意外と面倒だからな。
838 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 21:44:03 ] Better Cで十分な漏れはなんでこのスレにいるんだろ?w
839 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 23:29:36 ] 最初のうちは関数オブジェクトを作る時にstd::unary_functionや std::binary_functionを継承しなければならない理由がわからなかった
840 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 23:30:47 ] いまでもわからずにやっているので教えてください
841 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 23:38:12 ] STLスレででも聞け
842 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 23:42:45 ] 別に継承する必要はないんじゃ
843 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 00:42:25 ] つーか継承前提のくせに仮想デストラクタ持ってない危険なクラスだから使っちゃダメっす
844 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 01:13:15 ] でりげーと
845 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 01:29:07 ] 継承前提であっても基底クラスのポインタで多態させるような使い方はしないから問題ないだろ。
846 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 01:37:25 ] という反論が来るのは分かり切ってたが、そんなの言い訳にならないと思うんだよな unary_function*があらゆる場所で絶対にdeleteされないとどうして言い切れるのか
847 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 01:53:23 ] 本来はprotectedな非仮想デストラクタを提供すべきだった
848 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 01:57:21 ] そもそも、unary_functionやbinary_functionは、テンプレート引数に関数オブジェクトを渡す時、 引数や戻り値を得るためのものなんだよ。 そもそもの想定されている使用方法が、ベースクラスで渡すものじゃないんだ。 お前の言い方は、 unique_ptrは、auto_ptrと違い、そのスコープ内のみがオブジェクトの生存期間だと明示できる、というけれど、 「何もしないdeleter」をunique_ptrに渡したら、auto_ptrみたいに使用できるじゃないか、 プログラマが絶対に、「何もしないdeleter」を書かないと、どうして言い切れるのか! と言っているのと何ら変わりないんだよ。
849 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 03:07:11 ] unary_functionやbinary_functionのやっている事は 実は単なるtypedefなんだけどな これが無くても平気な関数アダプタはあるが、bind2nd()などは 無いとエラーを吐く
850 名前:デフォルトの名無しさん [2009/05/29(金) 03:11:23 ] decltypeがもっと早くからあれば、完全にダックタイピングでいけたんだろうか
851 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 09:03:13 ] 843みたいなアホがなんでこのスレにいんの? unary_function/binary_functionは必要なtypedefを書くのをちょっと楽するためだけのもの しかもbind1st/bind2nd使わないなら不要 さらにC++0xのbindには内部resultテンプレートがあれば引数型は固定でなくてよい result_of<>はresult_typeもしくは内部resultテンプレートがあれば十分 ところでCallableコンセプトあればresult_ofいらなくね?
852 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 09:17:04 ] >>851 コンセプト使うの前提にすれば、Type Traits系のライブラリなんて全部いらなくね?
853 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 11:06:31 ] クラス組んじゃえばそうだろうけど、関数内でちまっと条件分岐させたいだけとかなら需要はいくらでもあるような。
854 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 11:17:30 ] conceptを検討し始めた時の条件として、 既存のtraits系などと共存出来て、段階的に移行できること、 というのがあった。 >>839 のようなケースはconcept_mapに集約されていくのだろうか…
855 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:18:48 ] Douglas GregorがApple行ってConceptGCC止めちゃったから、 iteratorを整理したくらいでライブラリのconcept化は止まってるね。
856 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 22:48:31 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
857 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 02:14:06 ] >>855 C++0xには入らないのだから、 ライブラリのコンセプト化は後回しだろうね。
858 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 11:15:56 ] wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
859 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 14:02:42 ] _, ._ ( ・ω・) ○={=}〇, |:::::::::\, ', ´ 、、、、し 、、、(((.@)wwwwwwwww
860 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 21:37:50 ] 一瞬、ここがGrassスレになったのかと思った。