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


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

C++0x 4



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/

855 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 01:56:50 ]
>>854
だからさ、それじゃ「std::exception の what() を表示する」っていうコードが書けないじゃん。

今のドラフトじゃ
throw std::runtime_error("実行時エラー");
throw std::runtime_error(u8"実行時エラー");
の両方が黙ってコンパイルできてしまうし >838 にある "may be ..." にどちらも
違反しない。複数のライブラリを使ってたりすれば同じプログラム内で両方使われてる
可能性だって出てくる。 catch (std::exception const&) {...} 中でどうすりゃいいんだよ、
って話。

856 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:01:02 ]
>>855
標準の枠内で書きたければそうすればいいし、
枠からはみ出る必要があればそうすればいい。

> だからさ、それじゃ「std::exception の what() を表示する」っていうコードが書けないじゃん。

問題ない。表示されるかどうかは、
取り出してからどう扱うかと環境によるってだけ。



857 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:07:43 ]
>>856
> 標準の枠内で書きたければそうすればいいし、

「標準の枠内で書く」ということがどういうことか定まらないのが問題なんだろ。

> 問題ない。表示されるかどうかは、
> 取り出してからどう扱うかと環境によるってだけ。

「○○だと困る」って話をしてるのに「問題ない。○○ってだけ」とか、もうね。

858 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:10:43 ]
定まってる。
charには何を入れてもいい。


859 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:17:20 ]
>>858
「何を入れてもいい char の列を表示するコード」、ってバイナリダンプとか?

860 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:20:07 ]
>>838
localeとfacetで出来るよ。


861 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 06:31:00 ]
>>842
「真面目な部分」として「誤字の訂正」をあげるようなヤツに「頭悪すぎ」とか言われたくないなw

862 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 07:31:16 ]
変なのが沸いてるな・・・

863 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 08:49:40 ]
what()のメッセージに付記入れるなら__func__にも付記欲しいな
人が読めるようにとかオーバーロードやテンプレート実体化ごとに区別付くようにとか
縛りがないとどうせマングリング名になるだろ



864 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:09:44 ]
和製の処理系とか見たこと無いんだけど。
JISにおけるC++規格って誰が使うの?

865 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:17:38 ]
富士通が処理系出してたよ。
templateも結構まともだった。

866 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:33:23 ]
日立もつくってますね。
boostもサポートされているようです。


867 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:45:13 ]
ほぇ〜、意外。
ぶっちゃけGCCからフロントエンドパクればいいだけじゃんとは思うんだけど。
なんか自作する理由があんだね。

868 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:55:49 ]
大型やっているところなんでも揃えとかないといけないから。
あれがないって事になると顧客を失う。

869 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 00:40:53 ]
pc11.2ch.net/test/read.cgi/tech/1219719677/
こっちで話題になってるんですが"default constructed"って何なんでしょう
詳しい人いませんか

870 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 00:46:57 ]
default constructorによるconstructのことだろ。

871 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:01:42 ]
クラスはそれでいいんですけど
"default constructed"された非クラス型が
value initializedされるのかdefault initializedされるのかが問題なんです

872 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:58:58 ]
POD 型の場合、0 初期化されるの? されないの? って問題だな。

873 名前:デフォルトの名無しさん [2008/12/27(土) 02:51:38 ]
これってさぁ、基底クラスにObjectは採用してくれるの?



874 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:52:54 ]
JavaのObjectクラスみたいな全クラスの暗黙の基底クラス?
するわけがない

875 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 08:59:56 ]
>>864
あ、NECもSXシリーズのためにコンパイラ作ってましたね。
スパコンのベンダはだいたいC++のコンパイラを作っている、と。


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 ]
日本語訳もあるからググれ







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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