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


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

C++0x 5



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/

110 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:20:10 ]
>>109
D言語でもGCを止めて、C++のように書くことはできる。

111 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:28:30 ]
スコープにとらわれないタイミングで delete できるの?

112 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:38:00 ]
>>111
普通にC++のようにdeleteすればいい。

113 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:54:39 ]
delete できるのか。
いいね、それ。

114 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 00:49:28 ]
C++はそろそろコンストラクタとデストラクタの前と後に呼び出される処理をデフォルトで追加するべきだな。
ファクトリー関数とかだるすぎる。

スマートポインタをコンストラクタ内で作れなくてもいいから、コンストラクトが終わった後になんか呼び出してくれ。

115 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 01:05:44 ]
>>114
before-daemon, after-daemonキター!

116 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 02:09:14 ]
コントラクトとかアスペクトとか、
そういうのは入らんのか。
テンプレートにちょっといろいろ
たすだけでできそうだが。

117 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 02:59:18 ]
その辺研究した上でconceptに昇華された。
AspectJ, Eiffel, ML, Haskell辺りの型システムを、
型の専門家が研究した成果を取り入れてる。

118 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 08:53:22 ]
さあ!みんなDゲンガーになろう!



119 名前:116 mailto:sage [2009/02/02(月) 18:50:48 ]
>>117
conceptはtraitのちょっとした拡張くらいに
思ってたけど、違うんだ?
# 詳しくはまだ見てないんす。orz

何かの言語で、処理(関数)の前後とかに
別途定義する処理を定型的にねじ込む
機能を見たとき、すげぇ超うらやましい!
と思ったんだけど、あれが使えるのかな。

120 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 20:05:08 ]
C++って、もともとCのソースをつくるだけだったんだぜ。

121 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 22:53:18 ]
例外で破綻したけどな

122 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 04:26:09 ]
>>103
C++の構文解析って、今はすべて手書きらしいね
こういうことがC++の将来に悪い影響を与えそうな気がする
構文を書き換える時期に来ているのかもしれない

123 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 04:52:16 ]
たしかに、C++は複雑だからという理由も大いにあるだろうけど、
ほかの綺麗な言語でも高速な解析を目指せば自ずと自前で解析するだろうし、
何より今更そんな気にすることか?と思う。


124 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 08:36:01 ]
確か、IronPythonとかも手書きって話だったと。

125 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:18:53 ]
使わない仕様とか、勝手にエゴで古いコードの書き方を意味もなく変えたり。
バカだなぁと思う。

特にifとカッコの間にスペース開ける奴。
騙されてるよなぁー、と思う。

126 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:20:41 ]
なぜ?

127 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:22:14 ]
>>126
カッコまでが言語仕様だから。
カッコなしで通るなら、スペースを開けるのが正しいと思う。

128 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:24:03 ]
いやお前の文章の意味が分からん。
「騙されてる」の主語は誰だよ?
「ifとカッコの間にスペース開ける奴」が「騙されてるよなぁー」だと思ったぞ。




129 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:25:06 ]
>>128
スペース開けてる奴は、騙されてるよ。

130 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:29:50 ]
恥ずかしい言語仕様を隠すためだけに、権威筋が言い始めたのを真に受けて従ってるわけだろ?
騙されてなけりゃ、単なるバカ。

131 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:33:02 ]
自分の口からだだ漏れ状態の上から目線に興奮冷めやらぬのはわかったけど、
もうちょっと具体的に説明しないとただの電波さんw

132 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:46:14 ]
どう見てもただの基地外さんだろ。 文章の意味が全く通っていない。

133 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 09:46:41 ]
いやぁ、どう説明しても只の電波だろ。片や「騙されてる」と言いながら、片や「正しいと思う」だし。

134 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 10:00:46 ]
その辺はスルーして、
C++の構文解析は自然言語構文解析並みwと書いた人が以前いたが、
(g++のMLだったか?)
最近手でパーザを書くのが結構流行っているのは、
エラー処理をきちんとやりたいから。

g++のパーザはすごくわかりやすい。
gccのパーザはbisonの出力したCコードから派生しているけど、
これも以外にもすごくわかりやすい。
v8(Javascript)の手書きパーザもすごく綺麗。

135 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 10:11:05 ]
>>134
理屈はわかるが、いざ自分がそのパーサを書く係になったらと思うとぞっとするな。

136 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 10:42:34 ]
エラー処理、得にエラー表示は、UIに属することだからね。
GUIで、入力足りないと、ダイアログウィンドウ出して、
入力してないフィールドを赤く表示して入力を促し、
側に警告も表示するっての似て、手間ばかり多いね。

ちなみにg++のパーザは2万行w (gccは8千行)
C++で書けばいいのに…
conceptg++のパーザは+1400行ですね。

// というかgcc本家のconcept branch放置されてる…


137 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 15:50:22 ]
手で書かなくてもエラー処理をまともにする方法はある気はするんだけどなぁ
parser combinatorとか使ってコード量を10分の1ぐらいにできないのかなぁ

138 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:19:38 ]
>>125
あなたはreturnにカッコを付ける人ですね
分かります



139 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:27:17 ]
相談室もだが、今日は変なやつがいるな
もしかして同じ人?

140 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 18:41:11 ]
>>137
簡単なんでいいから一回パーサーを
書いてみろ。
気のきいたエラー処理がどれだけ
めんどくさいものか体感するべき。

141 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:26:20 ]
>>139
最近あちこちで電波垂れ流してる脳内住人が出没してる。
ここのスレにも、見てわかるとおり。多分同一人物だろうな。

142 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:31:07 ]
パーサのエラー処理は地獄だよ

143 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:38:09 ]
エラー1つ検出して終わりなら大分楽だが
今時そんなコンパイラじゃ誰も使ってくれないだろう。

144 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:39:41 ]
むしろコンパイル速度さえ爆速であればエラーを一つ検出して終わりというコンパイラもアリだと思う。

145 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:48:25 ]
this -> m_Hoge = 10;

これでも通るんだし別にいいんじゃね。

146 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 00:57:46 ]
>>144
連鎖的にエラーが出る事が多いから、
結局最初の1つくらいしか見ないとか多いしな。
そこ直したらもっかいコンパイルした方がエラーが見やすいし。

147 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 01:07:22 ]
権威にはからきし弱い、太鼓持ち。

148 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 02:10:26 ]
じゃあ柔軟なエラー処理ができ、かつ簡潔で速度もそこそこ出るパーザの実装手法を考案して有名になってやる



149 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 12:49:40 ]
期待してるよ

150 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 12:53:03 ]
このスレで宣言するからにはC++0xのパーザも。

151 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:39:36 ]
しかし改めて思うがひっでー文法だな
特にdeclarationまわり

152 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:54:43 ]
varとかtypeとかfunctionとかのキーワードがないのに合わせて、
typedefが止めを刺した感じ。
classやtemplateやcoceptはキーワード付けてくれて本当に良かったよ。

153 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 11:08:28 ]
>>152
何かで見たけど、キーワードはできるだけ
追加しないってのがポリシーなんだよね。

154 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 11:14:40 ]
>>138
わかってないな。
省略できるから、つけようがつけまいが自由なんだぞ。
単にあのかっこも、一時期のバグ回避だし。

155 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 11:45:46 ]
どうでもいいことで盛り上がるなこのスレ

156 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 11:54:32 ]
馬鹿が必死になるから挑発しないでくれ

157 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 12:00:29 ]
というか、どうでもいいことだから盛り上がる

158 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 12:12:45 ]
ごめんなさい…



159 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:28:10 ]
>>154
へー、そんな理由がねぇ。
おいらてっきり、void return(x);的な関数に見せかけたいが為に
やってんだと思ってた。あんま関係ないけど
int(main)(int(argc),char**(argv))なんて所にも括弧付けれるね。
まぁ、当方returnですらカッコ付けたことは無いから付ける輩の気持ちは解らんけど。

160 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:33:08 ]
return って、20年以上前の大昔には実際に関数だったとかじゃなかったっけ?
ANSI 以前の。

大昔の良書(今となっては歴史的資料)がANSI以前の文法で書かれてたりするせいで、
それが正しい書式だと思ってる人が絶えなかった。

161 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 20:35:06 ]
未だにflex/bisonみたいな古いツールの解説では旧形式の関数定義があったりするな。

162 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:26:28 ]
>>160
>return って、20年以上前の大昔には実際に関数だったとかじゃなかったっけ?
それはない。exit()の実装と勘違いしていないか?

163 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:51:35 ]
>>160
このレスは全て間違い。以下無視するように。

164 名前:デフォルトの名無しさん mailto:sage [2009/02/08(日) 22:56:56 ]
C FAQを当たってみたけど、
ttp://www.kouno.jp/home/c_faq/c20.html#0
> 20.19:
> returnの後ろに来る式をくくるカッコは本当に省略可能か。
> A:
> 省略可能だ。
> 大昔、Cの初期には、必要であった。そのころにCを学んだ人がたくさんいるし、
> そのころ書かれたコードが今でも世の中に出まわっている。 それでカッコが
> 今でも必要であるという考えが広まっている。
ということで、昔は必要だった(が関数ではない)ってのが正しいようだ。

165 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 00:52:05 ]
ifとかwhileが関数ではないけど括弧が要るってのと同じことだったんだと思う。

166 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 06:58:32 ]
統一性を考えたらカッコが必要なままでもよかった気がする。
つか、不要にするならするで if や while もカッコ不要にして統一しろよ。

167 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 07:24:14 ]
>>166
ifやwhileは括弧があっても、タイプミスをするとコンパイル時に検出できるが、
returnに括弧があるとそうはいかない。

168 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 08:53:03 ]
>>166
retrun() でハマるというネタが



169 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 10:42:17 ]
>>166
つーか
統一するという言葉自体に惹かれても意味ないし
第一、統一する理由がない

170 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 11:42:57 ]
括弧無しでも文法としては作れるよね?
そうしろっていってるんじゃなくて、ふとした疑問で

171 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 12:30:29 ]
return-statement := return EXP
と定義すれば既に統一されてるじゃん
空白や(は識別子に含めないからそこで打ち切られてreturnが認識され、
以降の式が続けて認識される

172 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 16:13:55 ]
>>166
break continue sizeof系統だからある意味統一されてるだろ。

173 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 16:26:05 ]
>>172
sizeofちと違う

174 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 17:58:38 ]
>>170
ついでにifなどにぶら下がる文を複文限定にして、中括弧必須にしてくれればいいのにと思う。

175 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 18:14:32 ]
P e r l 化 決 定

176 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 19:22:59 ]
#define begin {
#define end }

177 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 20:02:27 ]
>>176
嘘のような、本当の話。

178 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 21:21:51 ]
昔々のはなしじゃねーか。
つーか、ゴテゴテ強化してJAVAより遅くなってたら笑える。



179 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 21:23:53 ]
>>176
STL コンテナと一緒に使えますか?

180 名前:デフォルトの名無しさん mailto:sage [2009/02/09(月) 21:42:50 ]
#defineはコンパイル以前に発現するのでSTLと一緒には使えません。

181 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 09:15:30 ]
えー

182 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 11:57:45 ]
#define private public

183 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 19:11:50 ]
#define privata public

184 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 20:59:45 ]
#define mein main
#define retrun return
#define cahr char

185 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 21:06:58 ]
#define itn int
#define sohrt short
#define unsgied unsigned
#define long lgon
#define vodi void
#define defien define
#define incldue include
#define thrwo throw

186 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 21:18:27 ]
#define unsinged unsigned がないのはおかしい

187 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 22:49:20 ]
^t

188 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 23:04:18 ]
結局、単なるデブ言語か。
テンプレートでarray使うと、C#より遅くなるんだからたまらん。



189 名前:デフォルトの名無しさん [2009/02/11(水) 00:08:35 ]
>>188
え〜。コンパイル時に最適化掛けてないとかそんな話じゃないよね?

190 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 00:36:58 ]
「テンプレートで」とか、馬鹿に決まってるから相手にするな。

191 名前:デフォルトの名無しさん [2009/02/11(水) 01:09:58 ]
すいませんでした。いや、数年前に、
知り合いで大学院で C++ でシミュレーションをしていた奴が、
遅くて困るんだよね... といってたから最適化オプションはどうしてる?と聞いたら
何もしらなくて、調べてみるとなんとデバッグオプションつきで
inline 展開も無しだったという恐ろしい話があったのでね...

192 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 01:20:19 ]
188はコンパイルが遅いって話かと思った

193 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 01:36:50 ]
遅いなら速くすればいいじゃない

194 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 03:34:24 ]
コンパイルが遅いならDをt(ry

195 名前:デフォルトの名無しさん mailto:sage [2009/02/11(水) 23:05:34 ]
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

196 名前:デフォルトの名無しさん mailto:sage [2009/02/12(木) 22:07:49 ]
いやいや、三次元配列だとすで使っても遅いぞ。

197 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 18:09:29 ]
mailing2009来てるじゃん

スレッドのバグが山のように報告されてて吹いた

198 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 20:58:23 ]
constexpr の再帰が復帰してるっぽ。



199 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 21:15:07 ]
停止判定できないのはテンプレートも同じだからな

200 名前:デフォルトの名無しさん mailto:sage [2009/02/13(金) 22:36:24 ]
結局コンパイラ側で制限かけるんじゃね?

201 名前:デフォルトの名無しさん mailto:sage [2009/02/14(土) 00:28:13 ]
そういう問題じゃない。


202 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 02:07:01 ]
final class に相当するものは導入されてんの?
const class とかでキーワード導入しなくても大丈夫そうな気がするんだけど。

203 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 02:14:04 ]
されてない

204 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 02:33:02 ]
意見すら出なかったのだろうか

205 名前:デフォルトの名無しさん [2009/02/15(日) 03:36:12 ]
0x はそういう小手先の便利さとかとは掛け離れた大きいものを狙っている気がする。

206 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 05:12:01 ]
小手先の便利さはライブラリやコーディングテクで補うのが禿と愉快な仲間たちの趣味です。

207 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 08:03:04 ]
あるあるw

208 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 13:43:24 ]
>>202
[[final]]っていうオーバーライド禁止属性が入る



209 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 14:56:54 ]
class hoge [[final]] ってのは入る事になったの?
virtual member function にたいしてだけ?

210 名前:デフォルトの名無しさん mailto:sage [2009/02/15(日) 16:24:18 ]
N2800では入ってる
効果はクラスの全仮想関数に[[final]]を付けるのと同じ






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

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

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