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/
159 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 00:45:23 ] 皆の見解をまとめると、これからはD言語の時代ってことか。
160 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 01:54:30 ] それはない 何だかんだ言ってもここ20年間はおおむねCとC++の天下だったし、 それはこの先も変わらないだろうな
161 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 03:09:07 ] 関数型言語に取って代わられるだろうと予想する。 オブジェクト指向やC++にはスマートさで限界を感じる。
162 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 04:26:18 ] まさか LISPが誕生して50年になるけどその間に関数型言語が主流になったことなんて一度もないだろ
163 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 04:44:38 ] >>162 ほんとにそうよね。 まあ、最近よく言われてるのは、 宣言型とか手続き型、静的とか動的の垣根がなくなっていくってのかな。 あとは、1つの言語で全部書くんじゃなくて、 多言語混在開発な方向に進んで行ってる。 というのを考えると、やっぱり C++ には限界を感じるんだけど。
164 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 07:18:34 ] For me, easily the biggest news of the meeting was that we voted lambda functions and closures into C++0x. ・・・・・・・・・・・・・・・・・・ by Sutter なぜlambdaやclosureに拘っているのかもわからん。 MSはF#に本腰を入れてるようだけど。 いずれにせよC++色々取り込みすぎて記述レベルに難があるとは思う。
165 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 07:48:48 ] >>161 D言語はpure関数とかを導入して、関数プログラミングを取り込む方向で動いてるみたいだね。 www.digitalmars.com/d/2.0/accu-functional.pdf どうなるかわかんないけど。
166 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 07:55:09 ] ついおこづかいでアクセサリーを買い込みすぎてしまう美少女中学生
167 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 08:29:09 ] >>166 美少女中学生以外は眼中にないのか?
168 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 08:57:25 ] >>164 わからん方が鈍いと思うけどね。
169 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:15:35 ] >>168 schemeをやってきた俺は勝ち組だがな。C++はのλはモドキだ。
170 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:25:40 ] 馬鹿丸出しだな。
171 名前:デフォルトの名無しさん mailto:age [2008/04/09(水) 09:30:06 ] 記述レベルに難がある モドキ だけじゃなくて、具体的に言わないと。 愚痴書くスレじゃないから。
172 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:32:05 ] やっべー、薄っぺらいことがばれてもうたwww でもテンプレートの可読性の低さは難だろ。キモ構文のオンパレード それでもあなたはC++に期待しますか?
173 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:39:49 ] メタをテンプレートで実現するのは難アリ。
174 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:45:09 ] >>171 例えばscheme処理系は言語の機能として構文拡張が可能。 C++は言うに及ばず。
175 名前:デフォルトの名無しさん mailto:age [2008/04/09(水) 09:53:56 ] Schemeと比べてああだこうだ言われても。 Schemeのプリミティブは強力だけど、 Schemeだって得意じゃないことは一杯あるし。 C++のclosureは、Javaの奴みたいに、 コントロール拡張について考慮されてないのが寂しいですねえ。
176 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 10:53:42 ] >>175 >C++のclosureは、Javaの奴みたいに、 >コントロール拡張について考慮されてないのが寂しいですねえ。 もうちょっとkwsk
177 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 11:23:44 ] つ jazoon.com/download/presentations/1680.pdf
178 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 11:25:27 ] range-based for-loopと絡めたいね。
179 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 12:31:24 ] >>162 まるでLISPが関数型言語みたいな言い方だな。w
180 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:17:07 ] 自分の知識がきっちりしていることをひけらかすだめだけの 細かい突っ込みは痛々しいよ。 その「句点のあとのダブリュー」に突っ込むくらい虚しいことだ。
181 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:17:51 ] 美少女中学生が丸出し!
182 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:35:51 ] いい加減中学生から離れろ。
183 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 13:38:14 ] そうだそうだ。中学生なんてババアだろ。
184 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 14:50:27 ] >>180 あやふやな知識じゃ自慢できませんものね。w
185 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 15:14:33 ] 自慢というか、自爆。
186 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 16:44:56 ] 美少女中学生の初めての自慰はダイソーバイブと相場が決まっていてな
187 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 17:39:48 ] つまりUnlambdaサイコー!ということですね わかります
188 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 21:42:03 ] >>177 遅くなりましたけれどありがとうございます. finally 周りを省略するための使い方は, scope guard 系の技法に lambda expression を組み合わせれば C++0x でもおよそそのまま転用できそうですね. Listener に Event 設定したり, thread function の設定に使うのは C++ だと lifetime の問題が出てくるのでそのまま転用するのが 難しい局面が出てくると思いますけれど, これはコントロール云々とは直接は関係ないですかね.
189 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 15:51:50 ] >>138 Dスレから来ました > Brainf*ckやWhitespaceまでもがC++としてコンパイル可能 DでBrainfuckをDの関数としてコンパイルするサンプルはもう作ってみたよ。 C++でもテンプレートプログラミングが変態的になればできると思う。 メモリ管理がうまくいけばJavaあたりはC++で直接いけるような気がします
190 名前:デフォルトの名無しさん mailto:sage [2008/04/10(木) 16:11:46 ] Dか。 Dはやねうらおが一時期信者だったので敬遠してたんだが、 今は離れたみたいだし、ちょっと遊んでみようかな。 流行るとは思わないけれど。
191 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 11:57:20 ] >>190 「誰々が信者だったから〜」 なんともくだらない理由だなww
192 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:15:17 ] Rubyはまつもとが××信者だったから〜
193 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 12:50:57 ] 生理的に駄目なやつっているだろ 美少女中学生の生理なら駄目じゃないぞむしろ大歓迎
194 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 18:00:43 ] 製作者がGPL信者だったから敬遠しますた
195 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 18:02:33 ] それは実害があるからしゃーないが・・・ 坊主憎けりゃ袈裟まで憎いとか俺には一生分からない感情だろうな。
196 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 18:30:23 ] 「誰誰が信者だったから〜〜」 「坊主憎けりゃなんとやらか」 「でも今日は気にしないよ」 「あー、"今朝まで憎い"ってか」
197 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 18:43:42 ] まつもとはいいかげん他言語を煽って目立とうとするのはやめてほしいんだが 煽りの内容もお前が言うなレベルの低次元なものだし・・・
198 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 19:10:56 ] 子供っぽい美少女中学生はどこが坊主?
199 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 19:27:21 ] 結局 Python に落ち着いた漏れ. でも最近は仕事じゃPHPばっかりで萎える.
200 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 20:40:51 ] まぁ標準みたいなもんだし
201 名前:デフォルトの名無しさん mailto:sage [2008/04/11(金) 23:00:49 ] C++0xはC++1xになるのだろうか…
202 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 09:07:38 ] 0f までいけるからまあ大丈夫だろ。
203 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 09:27:12 ] 07までだろ…
204 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:47:56 ] それは盲点だった
205 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:50:32 ] いいかげん0のプリフィクスで8進数リテラルっての止めて欲しい 誰も使わない上に紛らわしい pythonを見習って止めるべし
206 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:51:15 ] つ 互換性
207 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:32:37 ] パーミション設定するときに使うべ。
208 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:51:09 ] そうだな パーミションは3ビットだから8進使うと便利だな
209 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:55:54 ] そのために8進表記があるんじゃないのか
210 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 14:59:15 ] 別にパーミションのためにあるわけじゃないぞ。
211 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 15:00:11 ] for all 3bit user
212 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 16:04:49 ] それより2進表記を作ってくれ 0b0100110101010 みたいな
213 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 16:08:27 ] 読みづらいから D みたいに区切りを入れられるようにしてくれ。
214 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:27:33 ] >>212 これ良く書かれてるんだけど 0xdcとかが11011100とかに見えないの? 実に不思議だ
215 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:28:57 ] TMPで2進表記をする有名なサンプルがあってだな・・・
216 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:34:12 ] >>214 「実質ゼロ時間・ゼロ労力」でできるのはせいぜいその辺の変換+αくらいで、 その程度ではまるで不便だから「よく書かれる」んだろう。 もし「0xdcが11011100に見えないレベルの人が」よくこの要望を出しているのだと考えているなら、 勘違いで自分を相対的に持ち上げすぎ。不思議っていうか、君が不思議ちゃんだよw
217 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:36:42 ] 頭の中で変換可能ならリテラルの表記は10進のみでおk という話しになってしまうな ただ二進数だと桁が多くなるから区切りがないと返って可読性落ちるな
218 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:40:15 ] >>216 どういうこと? 16進と2進は直接4桁ごとに変換できるから2進表記はないんだろ? そしてそれをほとんどができるから よく書かれるってのは皮肉で書いたんだけど
219 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 17:40:54 ] 皮肉っていうのはおまえいつもそれ書いてるなって意味
220 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:02:42 ] 俺は脳内で変換できるから、5進数でも大丈夫
221 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:04:05 ] 16進でいいだろってのは釣りなんだから相手にしないでおけ。
222 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:28:35 ] C系言語使うつもりなら ・2進 <-> 8進 <-> 16進の変換 ・0xF*0xFまでの16進九九 ・文字定数 <-> ASCII値 ・主要な2^n値の10進表記(n=1〜16,20,24,30,31,32,40,63,64あたり) くらいは身につけてるのが常識だし、マナーだと思ってたが 最近はそうでもないのか
223 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:30:39 ] 身につけるのが常識である事と、 そのままでいいこととは別の話だろ?
224 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:34:33 ] そんなのまで言語側で面倒見るべきではないと思うぞ 九九を知らない奴が家を設計できるようになることが良いこととは思えない
225 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:34:38 ] 0b0100110101010 こんなのぱっと見て長すぎて分かりにくいし たかだか16個のビットパターン覚えられないって方がネタだろ
226 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:38:18 ] >>222 この辺、本当にそう思うならちょっと披露して欲しいと思った。 ・8進16進変換 普通の人は、2進を介在させないと難しいと思う。 ・16進9x9 必要になるケースがレアすぎる。 ・2^nのnが40とか64とか。 nが16以下なら普通に言えるけど。nが32でさえ桁数が多すぎて普通は無理。
227 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:38:20 ] D みたいに自由にアンダースコア入れれるようにすればいい。
228 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:38:45 ] >>222 そんな化石言語使いません。
229 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:39:30 ] マクロとか書けるけどな。 でも、できるなら言語的にサポートされてほしい。
230 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:40:18 ] 0b001101000101ならすぐ0x345とわかるけど これを0b1101000101とか書かれると困る 0bの後に続く数は4の倍数個に制限するべきだが、導入されたとして多分そうはならないだろ だったら有害なだけ
231 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:40:59 ] いや32なら簡単だろさすがに
232 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:41:41 ] >>231 は思いっきり勘違い
233 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:42:55 ] >>230 D ではこう書く。 0b11_0100_0101
234 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:43:18 ] 特にメモリが4Gに迫って色々あったり2038年問題の影がちらつきだしたこのご時世に 2^31と2^32の10進値も知らないコンピュータ技術者がいるなんて信じたくない
235 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:44:27 ] だから、概数を覚えていることと全桁そらで言えることは違うって。
236 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:45:06 ] およそ40億としか覚えてなかった 1048576までなら覚えてるけど
237 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:45:36 ] 20億代と40億代だと覚えておけば、 細かい値が必要なときだけ電卓でポンでいいだろ。 無駄な事覚えるのはタダのバカ。
238 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:48:05 ] 約21億と約43億としか覚えてないなぁ けど2^24は16777216って覚えてるな
239 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:48:14 ] >>234 2^10 = K 2^20 = M 2^30 = G で十分だ。
240 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:49:04 ] >>238 俺も 16777216 は覚えてるな。 何か覚えやすい並びだしな。
241 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:50:18 ] >>239 Gってのは文脈によって1073741824・1047586000・1024000000・1000000000を意味する可能性がある 全然十分ではない
242 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:51:08 ] >>239 2^10=1024も知らないとか冗談だろ?
243 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:51:51 ] 1024 は流石に知らないと恥ずかしいな。
244 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:53:29 ] >>241 例えば伝送速度は1k=1000、メモリ容量などは1k=1024換算だ。 >>242 んなもん覚えてるわ
245 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:53:37 ] 2^31=2147483648は結構覚えやすいと思うんだけどな 万の区切りで48が2回出てくるし偶数桁目に4,4,3,4って調子よく並んでるし
246 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:54:10 ] >>241 文脈だって、馬鹿じゃね
247 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:54:58 ] 2^8 = 256 2^10 = 1024 2^15 = 32768 2^16 = 65536 これはおさえとかないと確かにマズいな
248 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:56:38 ] データ容量でキロを1000メガを1000000と解釈するのは記録メディア業界だけ?
249 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:56:51 ] 0xFFFF = 65535 これで覚えてる
250 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:58:21 ] >>248 メディア業界でも会社によってメガが1000000だったり1024000だったりするから困る (1048576であることはまずないけど)
251 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:58:28 ] てかC++0xのスレだよな?
252 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 18:59:21 ] いつまでも0bなんて粘着に持ち出すゆとりのせいで荒れたじゃないか
253 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:04:49 ] 0bを導入するメリットがあるとすればフラグを表す定数なんかで #define FLAG_A 0b00000001 #define FLAG_B 0b00000010 #define FLAG_C 0b00000100 #define FLAG_D 0b00001000 #define FLAG_E 0b00010000 #define FLAG_F 0b00100000 なんて表現ができて初心者がフラグの定義の仕方を直感的に理解できるくらいか? それ以外のメリットが思いつかん・・・
254 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:06:21 ] #define BIT(n) (1u << (n)) #define FLAG_A BIT(0) #define FLAG_B BIT(1) #define FLAG_C BIT(2) #define FLAG_D BIT(3) #define FLAG_E BIT(4) #define FLAG_F BIT(5) とかの方が分かりやすい
255 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:07:07 ] 0b literals considered harmful
256 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:10:50 ] Gauche使え
257 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:12:27 ] そういう思い込み書き込むスレじゃないからw マ板行けよ 新しい関数型の記法です。->を使う。 www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm typedef int IFUNC(int); IFUNC* fpif(int); ↓ auto fpif(int)->int(*)(int) template <class T, class U> decltype((*(T*)0)+(*(U*)0)) add(T t, U u); ↓ template <class T, class U> auto add(T t, U u) -> decltype(t+u);
258 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:17:28 ] コンパイラの都合臭がする記法だよな
259 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 19:19:27 ] constexpr long operator prefix"0b"(const char *literal_string){ long n=0; for(; *literal_string; literal_string++){ n = (n << 1) + *literal_string - '0'; } return n } こういうのが出来れば0b厨もおとなしくなるのに