1 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:25:25 ] 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/
876 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:16:00 ] >>873 void*でエエがな。リフレクションならtype_infoを継承してリフレクション情報 を混ぜたクラスをtypeidで返すように各ベンダがすればいいだけだし。 関数テーブルが標準で乗るような設計はC++の理念に反する。
877 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:53:09 ] >875 SXC++はtemplateが哀しいほど使えないぞ complex<>も遅くて話にならないし
878 名前:デフォルトの名無しさん [2008/12/27(土) 15:12:12 ] Objectが基底クラスじゃないからライブラリや設計が面倒くさいのに・・・ templateで無理やりぶん回すこともなくなるのに
879 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:26:31 ] >>878 あんまりプログラミング言語のこと知らないんだね。
880 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:43:41 ] >>878 キミObject型を何につかってんの? 現C++はSmalltalkやObjective-Cの様にObjectクラスが 存在しないとオブジェクト生成すらままならないという訳じゃないんだけど。
881 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:49:43 ] むしろC++はノイマン型アーキテクチャを直接叩ける言語にしては、 異常なくらいプリミティブ型へのサポートも厚い言語。 登場した時は恐れ入りました感があった。 今流行りの言語ではプリミティブ型コンテナの ボクシング/アンボクシングが盛んだけど、 そのきっかけの一つになったと思っている。 C++は今のやり方を貫いて欲しい。 >>880 Objective-Cは、プリミティブ型のことは知りません、 Cで取り扱ってくださいって態度。
882 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:49:46 ] Smalltalk ならともかく、他の言語で単一継承モデルを採用している理由はなんなのかな 多重継承時のトラブル対策のみ?
883 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:59:16 ] interface/protocol があると多重継承はあんまり要らない気がする
884 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:01:19 ] >>881 SymbianやAndroidなど組み込み機器用のOOPとして現役だしね。 >>878 みたいなことしても、客が逃げていくだけで何のメリットもない。 >>882 実装継承以外がinterface, trait, conceptになっただけで、 今は事実上多重継承ばかりかと。
885 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:10:08 ] てか、Objective-Cとか知ってる人間からすると、 実装無しで継承って(笑)と思ってしまう。 interfaceなんかはあくまで、型システムによって機能しなくなった メッセージングを補完する為だけの苦肉の策で、本来の継承とはかけ離れたよに思う。
886 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:15:54 ] >>884 Mixinは実装多重継承との関わりがあると言っていいんじゃないの?
887 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:16:12 ] >>872 されない struct foo { char bar[1000000] } が自動的に初期化されたらいやだろう デフォルトコンストラクトは文字通り「何もしない」ので不定値が入る
888 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:05:41 ] Objective-Cとか知ってる人間(笑)
889 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:09:20 ] >>882 多重継承は仮想関数テーブルが複雑になって実装が面倒だからじゃね?
890 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:14:00 ] >>888 そうか?見識が広がっていいと思うぞ。 C++とは真逆の言語だからね。
891 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:38:32 ] >>889 invokeinterfaceやmixinでも同じだよ。
892 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:00:09 ] >>891 問題は仮想継承辺りの扱いかもね。
893 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:04:36 ] いい加減exportの扱いどうにかならんか? 0xなるんだから委員会も、もう少し強制するなりしろや。 コンパイル速度が遅くてかなわんぞ。
894 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:10:27 ] exportは実装に見合うだけの利益はないよ。 コンパイル時間が一割ぐらい早くなるかもしれんが、exportによって、 今までできなかったことができるようになるとか、そういうことは一切ないから。
895 名前:875 mailto:sage [2008/12/27(土) 18:35:24 ] >>877 実際に使ったことはないのですがw 情報ありがとうございます。 まあ、日立、富士通、NECといったスパコンベンダは C++コンパイラを作っているのは事実、ということで。
896 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:58:54 ] >>887 引用スレに書かれている通り、foo() の書き方だと0初期化だよ。その互換性の話をしているんだと思う。
897 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 19:26:09 ] >>894 そんなにみみっちいかなぁ。 GCCのpragmaでやってるような、翻訳単位ごとにテンプレートのインスタンスが 発生するという事態は改善できるだろ。それから、ヘッダーの見通しもよくなるし、 STLの内部実相の為にベンダーが用意した__imp__comperなんて関数も取り込まなくて 済むようになる。(ファイルスコープが効く) まぁ、実装が一つしか無いから机上の空論ではあるけどね。
898 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:34:04 ] class Parent { public: int Method(int); }; class Child:Parent { public: using Parent::Method; }; って感じのprivate継承とか static using { struct { int a,b; }; char c: }; みたいな無名共同体。 int (Class::*member)=0; の様なメンバー変数に対するポインタ(メンバー関数では無い) なんて、使ってる人いる?むしろ使ったことある人いるか?
899 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:38:46 ] private継承は使うだろ普通に 無名共用体はC++ではあんまり使わないかもしれないけどCではよく使う
900 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:40:03 ] 上に関しては、そんな書き方初めて見た。 それprivate扱いなの? 書き忘れ?
901 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:50:43 ] >>900 C++のclassはアクセス指定を省けば 基本private。structはその真逆。
902 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:58:21 ] なるほど、そのルールは継承にも適用されてたのね。。
903 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 20:22:20 ] メンバー変数に対するポインタは、 自作インタープリタ上のオブジェクトを C++のクラスに結び付けるテンプレートを書いた時に使ったことがある。
904 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 23:43:57 ] メンバ変数に対するポインタは リストの prev/next のどちらにも適用できる処理を書く際に使えたりする。
905 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 02:18:43 ] いよいよ09年なわけだが
906 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 03:41:14 ] 今年中に纏まるとは思えないのだが。
907 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 03:59:11 ] 日本限定なら09年度という便利な言葉が使えるんだが。
908 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 04:04:08 ] それでも猶予は4ヶ月しか増えないのだが
909 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 06:57:41 ] いや、そもそも0x年まであと27年もあるわけだが
910 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 07:08:47 ] C++0xa
911 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 09:10:41 ] (++0x) だからあと2年猶予があるぞ
912 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 09:13:14 ] どうせ急いで制定してもC++プログラマの大多数は飛びつかないな・・・
913 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 10:13:30 ] とりあえずautoだけでも早く使えるように頼む
914 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:07:46 ] いやいやunique_ptrを
915 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:14:38 ] スレッドの概念が入るだけでありがたい
916 名前: 【豚】 【282円】 mailto:sage [2009/01/01(木) 23:19:47 ] variadic templatesが使えるようになるのはいつですか
917 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:25:07 ] 2011
918 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 07:47:47 ] >916 gcc 4.3 以降を入れれば今すぐにでも。
919 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:38:53 ] const int n1 = 10; と constexpr int n2 = 10; って何が違うの
920 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:42:53 ] 右辺が整数定数なら差はないんじゃね
921 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 13:49:48 ] constexpr って導入する意味あるの?
922 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 13:58:07 ] constexprな関数の導入に意味がある。
923 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 14:25:05 ] constexpr constructor凄く便利。 ダラダラと逐次的な初期化コードや それを含む初期関数を書く必要がなく、 データを宣言的に書ける。
924 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 21:38:33 ] >>923 kwsk... constexpr って(有る程度複雑な)計算結果が定数として扱えるように なるとしかわかってないんですが、それがデータが宣言的にかけるとは どういうことでしょう?
925 名前:923 mailto:sage [2009/01/04(日) 23:00:49 ] 日本語訳もあるからググれ