1 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 01:00:22.34 ] The C++ Standards Committee www.open-std.org/JTC1/SC22/WG21/ Wikipedia https://en.wikipedia.org/wiki/C%2B%2B14 C++11/C++1y 18 toro.2ch.net/test/read.cgi/tech/1365073520/
369 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:26:13.66 ] >>367 FDISは修正して再提出があるわけだが 「これが本当に最後のファイルドラフト」とか 恥ずかしい
370 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:31:33.12 ] 「これが規格です」と名乗るための表紙の付いたお布施。 高々3万円ぐらい買ってやれよ。 江添がメシ食っていけないだろ。
371 名前:デフォルトの名無しさん [2013/12/18(水) 20:38:21.25 ] もう都落ちしたそうだな
372 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:52:38.59 ] 規格買ってもエゾたんに円は入らんだろ
373 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:00:56.06 ] 規格を読むのはハードル高いけど最新仕様に関心はある層がいないと江添たん儲からない。
374 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:04:13.46 ] 江添は正直どうでもよくて 規格策定にも金はかかるんだから 適切なキャッシュフローのためにも お布施しておけっていう話だろ
375 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:18:01.78 ] 取り敢えずコンセプトは要らんから はよ出せ
376 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:42:07.79 ] >>374 規格団体が制定すりゃ使われるかっていうとそんなことないだろ。 コンパイラがちゃんと追従して、わかりやすい関連書籍も出て皆が使うから規格に意味があるんだ。 ちゃんと産業で使われるなら規格策定なんぞどこかしらの企業がスポンサーに付くわい。 言語のエンドユーザーたるプログラマが直接 ISO やら ANSI やらに金を出すのは適切なキャッシュフローではない。
377 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:45:41.25 ] というのが江添さんの持論です
378 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:06:23.22 ] 規格委員って規格委員会から活動経費とか言ってお金貰っているのか? それとも、無償でやっているのか。顔合わせてのミーティングとかだと 交通費とかかかるよな。
379 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:18:37.13 ] >プログラマが直接 ISO やら ANSI やらに金を出すのは適切なキャッシュフローではない 規格はよだせ(出して欲しい) →でも俺は金 払わない →金はどこかの企業がだせ この思考がヤバい
380 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:26:53.37 ] それ美しい日本の精神じゃないか。
381 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:32:46.33 ] 規格の本来の目的は乱立していたものが統一されることで 産業全体が効率化されて最終的にエンドユーザーが メリットを享受できるようにすることだろ。 今のC++1yは規格策定=新機能の開発になっていて 何か違うと思うんだ。
382 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:47:10.58 ] なんで最初にわざわざカオスな状況を用意しなきゃいかんのよ 新機能を開発したい人たちが複数居て、ばらばらにやったら方言が乱立するから、一カ所でやって即規格化しようぜ ってのが今のC++の規格策定プロセスなわけでしょ? 誰にとってもその方が望ましいと思うんだが
383 名前:376 mailto:sage [2013/12/18(水) 22:56:16.55 ] >>379 > →でも俺は金 払わない だってそうだろう。 工作が趣味だからってネジやら合板やらの規格策定に金出すか? エンドユーザーは金を払って部品を書い、工作指南本を書い、道具を買うけど、 その背景にある規格を一貫させるのは各業界でやるのが筋だろ。 規格策定の分の費用が売り物の値段に上乗せされてたってかまわないが、 直接支援するのは筋が違う。
384 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 23:09:23.94 ] >>383 「統一された規格を実装したコンパイラーが欲しい」と 「規格書が欲しい」を一緒にするなよ。 前者の人が規格策定行為に直接金払わないのは当たり前。
385 名前:デフォルトの名無しさん [2013/12/18(水) 23:32:58.20 ] 江添さんが金くれってごねてるの?
386 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 23:36:49.20 ] >>377 どうでも良いことだが 江添は長音表記が通産省労害派(JIS Z 8301)じゃなくて 内閣府1991告示二号派だから別人 ・コンパイラー ・コンピューター ・メンバー関数 ・コンストラクター >>385 江添はFDIS推奨らしいから違うだろ?
387 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 23:48:00.41 ] 【重要】 落ち武者ネタは禁止します、使用しないでください。 万が一 アスペ落ち武者ネタが書き込まれても、スルーしてください。 相手にするとあなたも荒らしと同じ扱いになります。 ※ スレタイと>>1 をよく読んで下さい
388 名前:デフォルトの名無しさん [2013/12/18(水) 23:50:35.22 ] 落ち武者ネタって何?
389 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 00:19:26.90 ] エゾたんのことか? スレに沿う話題ソースにも非常に有益な御仁だし、話題から外すのは反対だな 偏屈ジジイなのは否定せんけど、アスペ落ち武者呼ばわりされるほど恨み持たれるような事してるのか?w
390 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 00:26:52.22 ] まーああいう人が浪人してて金に困ってる、って時点で盛り下がってるんだな〜とは思う。 本来なら引く手あまたじゃなきゃまずいと。
391 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 00:49:09.70 ] ああいう人は金に困ってなきゃおかしいです。 好きなことしかやらないんだから。
392 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 01:01:26.54 ] どちらにも同意できて困る
393 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 02:27:13.52 ] もし江添を雇うならエウ゛ァンジェリストとしてだろうな。 ああいうのは本人が面白そうにやってると説得力があるからな。
394 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:01:12.82 ] 不自由な製品はお断りだからな
395 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:16:02.14 ] あいつはpdfに親でも殺されたのか
396 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:52:41.94 ] 偏屈ジジイっておまえなあ、江添くんまだ20代だぞ
397 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:54:30.73 ] あんな自由に縛られた奴が20代なわけないだろ
398 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:04:48.44 ] >>383 JISやISOは企業で使うために制定してるもの 趣味で作る分には規格書不要、コンパイラ付属のマニュアルでも読んどけ
399 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:16:23.50 ] 見てて面白いから良いだろ
400 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:40:00.84 ] >>378 他のISOに関わったことあるけど、手弁当でした。海外出張年4回と普段のも。規格をネタに解説書書いて出版しましたが、マイナーな規格なので、予想通り初版5000部で絶版しましたし。
401 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:52:37.49 ] >>378 2005年くらいまでは会社から支給があったけど、 今はもう持ち出しですよ 普通の勉強会の方が交通費が出ることもあるくらい
402 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 13:40:53.43 ] 江添とか IT 成金企業が飼っときゃいいのに。
403 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:22:00.93 ] なんで企業が金にもならんキチガイ雇わにゃならんのよ
404 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:23:10.68 ] >>401 それは援助金を集める担当者がサボっているのが原因に間違いない
405 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:25:53.72 ] >>403 話題にはなるんじゃ 忘年会に集まるような怪しい連中じゃ無理だろ
406 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:38:54.05 ] 知り合いにやね某やえぴなんとかさんみたいな身の振り方上手い人がいくらでもいるのにどうしてこうなったんだろう
407 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 16:55:18.12 ] えぴなんとかはともかく、その例だと知り合いが悪いんじゃねえの。
408 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 17:53:56.86 ] 誰か江○添を食わせてやれ →俺は金出さないけど →どこかの成金企業は金持ってるだろ この思考がヤバい
409 名前:デフォルトの名無しさん [2013/12/19(木) 18:39:57.38 ] やねさんと江添さんて知り合いだっけ? というかさ、C++関係で専業の人間なんていないだろ えぴさんにしろ、若手だとBoost勉強会の人にしろ、本業は別にあるわけだしさ C++の専業伝道師のロールモデルなんてないわけで それでも副業するのが嫌なら、苦労するしかないわいな
410 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 19:00:05.27 ] えぴさんの本業ってなんなの?
411 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 19:05:41.21 ] 直接仕事取ってこれるタイプのIT土方
412 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 19:40:29.11 ] いんちき競馬予想ソフト書かされて いやになったんじゃなかったっけ
413 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:10:26.17 ] Will Code HTML for Food
414 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:12:43.92 ] 仕事で使うのはC++のみって奴ってどれぐらいいるんだ 仕事では他の言語が主でC++が副って奴が多いんじゃないか
415 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:26:49.22 ] 専業ってなんだよ シープラプラなんて既に 天ぷらオナニー用言語だろ 趣味でやるのが正しい使い方
416 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:52:25.18 ] 趣味なら余計にこんな糞言語使いたくねえ
417 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:56:10.73 ] むしろそれがいい 右辺値山椒だけでご飯3杯はイケる
418 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:21:41.88 ] web言語の方が御飯たべれる
419 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:45:24.39 ] と、ここまでITドカタで御飯食べるのが精一杯な人間の世界観
420 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:58:05.96 ] えぴさん、普段はとってもわかりやすい文を書く方なのにどうして本にするとわかりにくいの? ファンとして悲しい‥
421 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:00:45.88 ] その程度の能力だからなんだろ 誰だか知らんがソイツは
422 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:09:05.64 ] 読んだ直後は分かったような気になるけど、暫く経ってよくよく考えてみると実は全然分かってない。 リピーターを生み出す良い本とはそういうものだ!w
423 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:17:23.98 ] >>412 それpmokyだろ
424 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:23:13.87 ] >>422 マは底辺・低脳者の職種だから、全然分かってないが当たり前だよ 日本語ができない奴でもOKな職だし
425 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:24:21.68 ] 422のような馬鹿な信者が湧くことから 当人のレベルの低さが伺える
426 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:29:23.76 ] けれど、皆さん、日本語は話せないけれど英語は読み書き出来るんでしょ?
427 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:34:17.30 ] なぜ、c++のWeb Frameworkは流行らないのか
428 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:51:21.22 ] 危ないから
429 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:52:05.11 ] >>427 何それ。emscripten? サーバー側の話?
430 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:57:44.76 ] >>369 修正されなかった事も知らないの
431 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 00:18:14.60 ] >>379 コンパイラに金を払ってりゃコンパイラのマニュアル読んでりゃ問題なくね。 gccとかclangとかはそれらが規格に準拠してて欲しいと思う個人や企業が身銭を切る。 ただ、規格に準拠してて欲しいと思う個人や企業ってのが、 規格に興味のない個人や企業が生んだ非互換のゴミに悩まされた被害者だと考えるといろいろとアレだけどな。
432 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 00:58:35.02 ] >>429 CppCMS, Wt, Tree Frog
433 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 08:14:45.07 ] >コンパイラのマニュアル読んでりゃ問題なくね 間違いではないんだが、独自の方言が普遍的と勘違い する人を量産してしまう罪は重い
434 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 08:15:40.39 ] sdkjla;hjklfdjl
435 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 17:04:18.77 ] >コンパイラのマニュアル 文法の説明が無いくせに方言まみれのG++は どうしようもないUNKOという訳ですね。 規格への準拠を期待して騙され続けているG++ユーザーは不憫です。
436 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 17:34:57.30 ] 規格書に金出せないアマチュアなんだからそれで問題無い
437 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 19:52:30.45 ] プロは目的と手段を混同したりしない
438 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 19:57:41.24 ] こういうこと言う奴に限って混同したプロ崩れのクズ。 特長は「いつも他人からみて幸せそうには見えず、 愚痴ばかりこぼしている」タイプ
439 名前:デフォルトの名無しさん [2013/12/20(金) 20:01:16.90 ] おまえのことかw
440 名前:デフォルトの名無しさん [2013/12/20(金) 20:11:14.74 ] プロはプロを自称しない。
441 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:20:03.81 ] おまいら、コンパイラやインタプリタの企画書なんて読むの?
442 名前:デフォルトの名無しさん [2013/12/20(金) 20:28:13.35 ] 【新 企 画】 新 宿 コ ン パ 2 0 1 3 ホ ゲ ホ ゲ 株 式 会 社
443 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:30:10.12 ] 企画など読む気も無いし読む必要も無い 言語の規格とコンパイラーの説明だけでok
444 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:39:18.09 ] おまいら、規格書を元に修正要望とかバグパッチ書いたりするの?
445 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:44:54.33 ] 規格書はム板でアホを叩くために必携
446 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:55:09.71 ] 上司「今年のコンパの企画書を明日までに提出しなさい」 俺「承知しました」 ↓
447 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:57:16.25 ] 「開催の趣旨が薄れたため 今年度は開催しない」
448 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 21:09:05.45 ] ☆★★
449 名前:デフォルトの名無しさん [2013/12/20(金) 21:42:23.42 ] 同音(本当は同音じゃないけど)異義語が、いつまで経っても痛いね
450 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 03:32:38.20 ] >>444 MSにバグレポート出してるよ 別のチームはOSS向けのパッチ書いたりしてる
451 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 05:14:56.16 ] 言語の規格でなくコンパイラー/インタープリターの規格 に相当するものと言ったらJavaか? 読んでない
452 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 15:06:16.48 ] >>431 > 規格に準拠してて欲しいと思う個人や企業 いやいやw
453 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 19:38:28.44 ] >>431 が何を言っているのかよくわからない
454 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 20:06:39.42 ] 俺は金を出さないけどお前らは出せって意味じゃね
455 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 21:46:16.53 ] gccやclangが規格に準拠して無くても構わないから規格購入費とか知ったこっちゃねーです。 VSは金払って買ってるから準拠してて欲しいと思うが金は払ったからあとはMSさん宜しくです。
456 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 04:35:05.93 ] VisualStudioから入って、どうやってプログラムが書けるようになるのか謎杉 文法を覚えたばかりで小説を読んだことのない小学生に、 小説を書けって言ってるようなもの
457 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 06:02:59.88 ] スレ違い&釣りはスルー
458 名前:デフォルトの名無しさん [2013/12/22(日) 21:10:21.66 ] >>456 C++14のドラフト規格を暗記だな
459 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 23:26:19.23 ] 言語の規格から入って、どうやってプログラムが書けるようになるのか謎杉 文法を覚えたばかりで小説を読んだことのない小学生に、 小説を書けって言ってるようなもの
460 名前:デフォルトの名無しさん [2013/12/23(月) 02:23:24.83 ] 規格にはコード例が載っているじゃないか。
461 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 02:38:15.61 ] 規格は仕様の背景や考え方の説明が乏しいので 初心者の学習には不向きです 禿にウザい信者が湧くのにはそれなりの理由がある
462 名前:デフォルトの名無しさん [2013/12/23(月) 11:05:02.18 ] 規格は文法だけじゃなくて用例も少し載ってるから>>459 はちょっと違うね。
463 名前:デフォルトの名無しさん [2013/12/23(月) 11:06:19.83 ] そういやANSI C, ISO C++の規格に用例が多いのはK&Rの影響かね。
464 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 13:24:49.71 ] 規格に載ってるサンプルはあくまで規格を説明するためのもので、適切な使用例というわけではないよ。
465 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 13:47:18.66 ] むしろ変な例が多い気がする
466 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 13:57:18.25 ] 規格の落とし穴や注意点を説明するような例が多いしな
467 名前:片山博文MZコスモ ◆T6xkBnTXz7B0 mailto:sage [2013/12/23(月) 15:07:27.42 ] https://dl.dropboxusercontent.com/u/72753355/cppreference-20130510-0.zip
468 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 19:48:58.24 ] むしろルールを仕様として書かずに 例が仕様となっているクソ説明
469 名前:デフォルトの名無しさん [2013/12/23(月) 21:04:22.02 ] いやいや。
470 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 11:50:05.02 ] >>468 それはDR出していい。
471 名前:デフォルトの名無しさん [2014/01/11(土) 16:47:14.70 ] 誘導されてきました。 14のジェネリックlambdaが待ち遠しいんですけど、デフォルト引数を与えたりできますか? fn を例えば2変数のファンクタとして、 [fn](auto x = 8) { return fn(1, x); }; みたいな。 よろしくお願いします。
472 名前:デフォルトの名無しさん mailto:sage [2014/01/11(土) 21:00:03.63 ] 無理
473 名前:デフォルトの名無しさん [2014/01/11(土) 22:15:52.14 ] 無理ですか・・・。 じゃあ仕方ないですね。 どうもありがとう。
474 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 00:13:06.45 ] 可変長引数使うとか。
475 名前:デフォルトの名無しさん [2014/01/12(日) 09:09:35.68 ] >>474 [fn](auto x、...) { return fn(1, x 〜 という形で、〜の部分を自分で埋めてくってことですよね。 可変長引数はできるんですか?
476 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 02:40:07.76 ] C++でfopen_sが使えるようなるのはいつですか?
477 名前:デフォルトの名無しさん [2014/01/13(月) 02:56:51.06 ] _s系には何も期待していない
478 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:03:42.61 ] _s系の関数なんてつかってる人いるの? あれって、存在の必要性をまるで感じないんだけど。 個人的には、iosteamくらいいらない子 それより、snprintfがほしい。
479 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:37:31.52 ] >>478 std::stringstreamとかstd::istream_iteratorとか捨てたもんじゃないと思う。 でもprintfは欲しいよなぁ・・・
480 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:38:29.43 ] sprintf_sでいいじゃん
481 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:50:31.58 ] iosteamに対して使いたいんだよ!
482 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 08:37:43.53 ] スチーム?
483 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 08:47:01.15 ] Boost.Formatを使うかstd::putfが標準に入るのを待つか
484 名前:475 mailto:sage [2014/01/13(月) 09:56:30.21 ] 失礼しました。ドラフト見たら明確にできることが書いてました。(5.1.2p5) ラムダにリプレースできるツールの候補があるんで、これ使ってデフォルト引数が実現できるか考えてみます。
485 名前:481 mailto:sage [2014/01/13(月) 16:06:08.12 ] >>482 タイポしたら嫌だから478からコピペしたらこれだよ! よく見てコピペするんだった・・・
486 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 18:38:40.24 ] >>484 何がしたいのかよくわからないよ。 デフォルト引数がしたいのか、可変長引数がしたいのか、何?
487 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 20:32:46.40 ] >>486 >>471 にある通り ファンクタ fn に対して [fn](auto x, auto y = 8) { return fn(1, x, y); }; //yにデフォルト値あり ということがしたい。 自作のbindモドキをラムダにリプレースできないか検討中。 bind(fn, 1, _1, _2 = 8); ということをやっているので、ラムダ引数でのautoの使用とデフォルト値が必要になる。 なければ他の手段でできないか、ということです。
488 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 20:43:32.48 ] C++14なら完全対応してるclangがあるんだからそれ使えばいいやん
489 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 22:22:11.62 ] いままでのあらすじ ジェネリックΛ期待。デフォルト引数もok? ↓ それはダメ ↓ 他の手段で無い? ↓ C++14ならclang使えば? ←話が理解できないバカ
490 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 22:39:48.62 ] ラムダ式って言語レベルの話じゃん? それをライブラリで何とかしようとするのがおかしい boostになければ諦めろって
491 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 23:19:26.86 ] >>490 まあそうなんですけどね。 今使ってるライブラリのデフォルト引数機能が便利なので、 ラムダで同じことができるようになるならリプレース そうじゃないなら継続利用(レベルアップ含む) のどっちに行くべきか見きわめたくなって。 できないっぽいので後者で行くことになるかな。
492 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 00:41:24.49 ] >>491 んーと、今現在 bind(fn, 1, _1, _2 = 8); というのを実現してるってこと?
493 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 07:01:52.07 ] >>492 そうですよ。 関数名とプレースホルダはちょっと変えてるけど。
494 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 12:46:18.88 ] 関数ポインタとかラムダにオーバーロードがあればいいのに
495 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 12:53:56.29 ] 一体何をオーバーロードする気だ
496 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 14:19:40.75 ] まああれだ、C++14でラムダ式にジェネリックが入るというのは必要だからだろう 多分もっとSTLが最適化出来る
497 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 14:27:51.74 ] とりあえずboostのoverloaded_functionつかっとけい
498 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 17:28:49.81 ] STL? 15年ぐらい前にそんなのあったな まだ使ってるなんて化石も甚だしい
499 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 17:30:57.86 ] 使える化石だからな
500 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 20:11:25.90 ] C#に超便利なLINQがあるだろうが C++11ももっとSTLとかラムダ式を柔軟にしないと性能はともかくユーザー層で負ける
501 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:14:35.66 ] いいからお前は黙ってC#使ってろよ >ユーザー層で負ける アイドルの人気投票じゃないんだからw
502 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:19:48.95 ] STL? 15年ぐらい前にそんなのあったな そんなメンテもされていない化石をまだ使ってるなんて
503 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:39:02.69 ] ふーん algorithm系って何にリプレースすればいいの?
504 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 22:14:00.90 ] >>497 感動した! 実装は簡単ぽいな。
505 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 22:56:59.82 ] >>497 ちょっと苛めてみた boost::overloaded_function<int(int), int(int*), int(int**), int(int***), int(int****), int(int*****), int(int******), int(int*******), int(int********), int(int*********), int(int**********), nt(int***********), int(int************), int(int*************), int(int**************) >mem(int a) const; error 'boost::overloaded_function' : テンプレート 引数の数が多すぎます
506 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:33:00.31 ] >>502 おいalgorithm系は何にリプレースすればいいんだよ?
507 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:47:39.55 ] STLじゃなくてC++標準ライブラリを使えってことだろ。 何を言っているんだオマエは。
508 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:52:16.47 ] <algorithm>はSLTだろうが。 何を言ってるんだオマエは。 それともコンテナとイテレータだけだとでも言うつもりか?
509 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:53:28.46 ] ×SLT ○STL
510 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:54:28.36 ] 定義を明確にせず否定も肯定もできないと思います。
511 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:56:39.10 ] >>508 STL? そんなものがISO/IEC 14882:2011のどこに書いてあるのですか? SGIかステパンと勘違いしてるのでは?
512 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:01:37.78 ] ・STLは標準化前の遺物派 ・コンテナ、イテレーター、アルゴ、ファンクタのみSTL派(string含まず) ・stringもSTL派(iostream含まず) ・テンプレートは全てSTL派 ・C++の標準ライブラリは全てSTL派 ・なんとなくライブラリは全てSTL派 厳密に正しいのは最初で他は誤り
513 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:02:19.36 ] >>511 だったら「STLなどというものは初めからありません」と言わなきゃつじつまが合わんだろ。 STLという言葉を使った以上、その定義や守備範囲を自分の中に持っているはずだ。 「15年くらい前にあったな」というからには、その当時は存在していたわけだ。 <algorithm>がSTLでなくC++標準ライブラリだというなら、どこかの時点で定義なり認識が変わったわけだろ。 その根拠を出せ。
514 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:11:43.65 ] 根拠なんてあるわけないだろ。 差別化のネタにしたいだけなんだから。
515 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:12:06.32 ] >>513 >「15年くらい前にあったな」というからには、その当時は存在していたわけだ。 それがSGIとかステパノフなんだろ。
516 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:15:38.61 ] >>515 >>498 ,502
517 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:22:36.04 ] >>512 のコピペとか見ろよ ・STLは標準化前の遺物派 が正しいとしても、そのSTLの範囲がなんだったかについては何も語ってないだろ。 だから2番目以降の選択肢の正誤なんてわかりっこない。 どうでもいい争いなんだからヤメトケ。
518 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:29:19.04 ] >STLは標準化前の遺物派 このコピペは修正が必要だな。 「STLは標準化前の遺物派(ステパノフのアレ、もしくはSGIのアレ)」
519 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:42:35.61 ] ・STLは標準化前の遺物派 (ステパノフのアレ、もしくはSGIのアレ) ・コンテナ、イテレーター、アルゴ、ファンクタ のみSTL派(string含まず) ・stringもSTL派(iostream含まず) ・テンプレートは全てSTL派 ・C++の標準ライブラリは全てSTL派 ・なんとなくライブラリは全てSTL派 STLという用語の根拠があるのは最初のみで 他はコンセンサスの得られない脳内定義
520 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:46:05.60 ] まーた始まった
521 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:48:39.38 ] >>519 なるほど用語に根拠があるのですね。 で、その内容が「STLは標準化前の遺物派」ということだと。
522 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:58:28.03 ] STLが髪の伸びたOTLに見えてなりません
523 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:40:28.01 ] 502「(標準化される前の)STLなんて化石をまだ使ってるなんて」 503,506「(俗称としての)STLを置換するライブラリってなんだよ」 507「(標準化される前の)STLじゃなくて(標準化された)C++標準ライブラリを使えってことだろ」 508「(俗称としての)(コンテナ以外も含む)STLは現役のライブラリだろ」 おまえらわざとやってるだろ。
524 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:43:23.08 ] なんか「プログラミング言語C」または「C」は名称として正しいが 「C言語」は只の俗称・通称の類に過ぎないってネタとそっくりだ
525 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:48:12.39 ] それを言うなら 「OSって何ですか?IBMが何故関係?」 昔STLは確かに存在したのだから
526 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:51:37.22 ] voidみたいな芸風はやめろよ。
527 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 02:21:52.84 ] A:写メ送って! B:今時写メとは化石ですか? A:じゃあ写メに変わる物は? B:普通にスマホで写真撮って送れ B:写メは2001年にJフォンが〜 A:だったら写メなどというものはありませんと言え 当時は存在していたわけだ B:だからそれがJフォンの
528 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 03:13:33.92 ] > 昔STLは確かに存在したのだから > 当時は存在していたわけだ 化石って認めてる発言だよねコレ。
529 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 03:17:55.19 ] 化石いうても標準コンテナの基本的な部分だよな
530 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 07:56:19.19 ] 話が理解できていない>>529 が哀れ 「化石のSTLは標準ライブラリのコンテナの基礎となった」 が正しい。 標準ライブラリには「ここはSTL」という説明はなく また化石STLと標準ライブラリの類似部分とは完全に一致でもない
531 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 08:06:53.37 ] 3文字の略称をつけないコミッティーの責任 それが名付けられるまでSTLを使って構わない
532 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 11:32:52.17 ] >>530 横からサンクス、やっと話題を理解できた
533 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:17:18.60 ] Cのcnd_timedwaitにPOSIXの略称を付けないのは委員会の責任 名付けられるまでは<pthread.h>のcond_timedwaitも <thread.h>のcnd_timedwaitのどちらも POSIXと呼んで構わない キチガイの発想ではこうなるんだろうな
534 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:29:03.79 ] そんなに標準ライブラリのなかのやつをSTLとは呼ばないって主張が重要ならこんな所で吠えてないでWikipediaの記事修正してきたら? 言語数多いけど頑張ってね。
535 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:33:23.00 ] 予想される展開1 「標準ライブラリーにはSTLという言葉がない」 「じゃあWikipedia直せよ」 「オマエが直せ」 予想される展開2 「標準ライブラリーにはSTLという言葉がない」 「じゃあWikipedia直せよ」 「オマエが規格を直すのが筋」
536 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:41:35.63 ] すでにあった展開 「標準ライブラリーにはSTLという言葉がない」 「(531)なので規格のもSTL」←??
537 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 19:46:11.59 ] 今は、テンプレートを使って作られた標準ライブラリー、でSLTになっているから注意な
538 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 20:20:44.66 ] はいはい、中国人の真似した糞レスはいらない
539 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 20:22:52.48 ] ああん、お前、どこ中の張魯よ?!
540 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 20:25:41.20 ] ワタシ、離珠と申します
541 名前:デフォルトの名無しさん mailto:sage [2014/01/21(火) 10:26:14.02 ] 14っていつ出るの? 委員会ドラフトが出てから久しいのだけれど
542 名前:デフォルトの名無しさん mailto:sage [2014/01/22(水) 20:37:10.34 ] WG21は無能なので あと5年は出ません
543 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 06:36:28.84 ] 一番待たれてる機能ってなに?ジェネリックラムダ?
544 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 07:11:36.74 ] 戻り値の型推論が無いとλが使いにくい
545 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 07:46:34.11 ] コンセプト
546 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 10:54:47.70 ] Concept連日鬼のように議論されてるけどなかなか仕様が固まらないな ジェネリックラムダは簡単に入りそうだけど というかClangでは使える
547 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 11:53:08.19 ] コンセプトは要らないな。 メンバー関数ごとに要件が違うんだから メンバー関数内にstatic_assert(is_xxw::value) をたくさん書いてくれりゃいいわ。
548 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 14:48:34.09 ] テンプレートの話じゃないのか
549 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 20:36:23.16 ] テンプレートのインタフェースみたなものという理解でいいのかな
550 名前:デフォルトの名無しさん [2014/01/29(水) 00:01:14.41 ] C++でプロパティを実現するココロミ codezine.jp/article/detail/7571?p=3
551 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:09:09.69 ] ジェネリックラムダと、constexprの制約緩和でいいよもう
552 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:11:25.64 ] 来る将来、片っ端からconstexprを付けることに
553 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:19:27.99 ] コンパイル時レイトレーシングができるんだ。 出荷時に処理が終わっている製品とか、夢が広がリングww
554 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:35:24.21 ] それよくわかってない門外漢の質問で済みませんが、単にコンパイル時にレイトレ計算完了してるって理解でいいの? コンパイル後にシーンやモデルの入力替えることが出来ないのであれば、プロダクトとしての価値がよくわかりません 解像度上げたら十分時間かかってるようだし
555 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:45:19.98 ] >>554 さすがにレイトレ完了までやってしまうのはネタだけど、 部分的にでも出来れば全体として高速化が出来る部分が増えるってことだ。
556 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:49:50.51 ] わかりやすいのは、sqrtやsin/cosなどの演算目的の関数だろうか あるいは、ビットマスクのようなものとか
557 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:58:42.44 ] >>554 その理解でいい 特に価値は無い PostScriptでレイトレと似たようなもんだな 「プリンタがレイトレしてやがるwwwおせぇwww」 「コンパイラがレイトレしてやがるwwwwおせぇwww」 「Webブラウザが仮想PCホストしてやがるwwwwおせぇwww」 あるいはメガデモ的な面白さ
558 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 03:05:47.24 ] mailing来てるのに全く話題に出てないのな やっぱりswap演算子はボツか
559 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 06:24:26.17 ] 本はよ
560 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 21:51:33.29 ] 本は要らんから isoははよ規格出せ
561 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 23:22:02.65 ] >>557 本はよ
562 名前:デフォルトの名無しさん mailto:sage [2014/01/30(木) 00:58:06.43 ] >>555-557 解説どもです、スッキリしました 変態的で興味が募ったのでちょいぐぐって情報の海に溺れてきます
563 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 05:45:58.14 ] 簡単なhackで引数に明示的な型しかとらない指定ってできませんかね? int a[1]; func( bool ); func( a ); // たまに起こるミス、型チェックを通ってしまう たとえば func( explicit bool ); ←こんなキーワード func( true / false / bool(a) ); // OK func( a ); // 暗黙の変換はエラー
564 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:27:40.45 ] >>563 こういうのはtemplateが役に立つ ideone.com/eFtKnq
565 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:34:30.65 ] あとはbool引数を取るexplicitコンストラクタを持つクラスをつくって それをfuncの引数にすると二重の暗黙変換はできないからfunc(explicit_bool_type);に直接intを渡せなくなる。
566 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:36:30.97 ] ideone.com/PqUkNh
567 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:41:43.77 ] >>565 は間違いだった。すまん。
568 名前:563 mailto:sage [2014/02/14(金) 08:31:22.51 ] >>564-567 ありがとうございます 暗黙の変換が行われる前にテンプレート関数で引き受けて=delete宣言するのですね 目から鱗が落ちました
569 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 08:39:30.06 ] >>563 T で受け取って戻り値 std::enable_if<std ::is_same<T,bool>::value>::type SFINAE サイコー
570 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 13:52:59.31 ] static_assert(std::is_same<T,bool>::value, "申し訳ないがbool以外はNG");
571 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 14:11:25.48 ] 本当に成金企業がやって吹いたw とりあえずおめ。
572 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 21:15:51.96 ] >>569 Tで受け取って、なら大丈夫だけど一般にはT&&とすることも多いから is_same は要注意だよな。
573 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 21:33:33.45 ] >>572 そそ なんかうまく呼ばれねーとなって remove_cv とかゴテゴテと追加
574 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 21:38:06.90 ] オレはこうしてるw template<typename T> struct remove_ref_cv { typedef typename std::remove_reference<typename std::remove_cv<T>::type>::type type; };
575 名前:393 mailto:sage [2014/02/15(土) 04:06:39.49 ] 俺の予想が当たった!
576 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 05:06:04.15 ] なんか言語機能が弱すぎて書き方が多様化するperlっぽくなってるな オナニー化はダメな流れだわ
577 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 07:14:28.55 ] C/C++より強力と言える言語はアセンブラしかないが
578 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 13:07:36.64 ] >>577 言語「機能」っていってるじゃん
579 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 13:40:57.63 ] オブジェクト指向アセンブラマダー?
580 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 16:56:16.42 ] むかしむかし、SAPPというアセンブラが川に洗濯に行って流されてしもうた
581 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 18:42:32.62 ] なんで、アセンブラと同程度の実行速度を保ちつつモダンな書き方のできる言語が登場しないのかね?
582 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 19:40:01.06 ] Dじゃダメなの
583 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 19:43:32.33 ] Dはどうも万年ベータ版な印象
584 名前:デフォルトの名無しさん [2014/02/16(日) 20:36:52.85 ] >>581 童貞度というか HDL はry
585 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 21:09:46.62 ] C/C++が一番それっぽいといえばそれっぽいが、そもそもモダンな書き方ってなによ。
586 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 21:13:25.43 ] C#みたいなやつ プロパティとかテンプレートとか
587 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 21:51:56.13 ] >>581 お前が作って公開すればいいんじゃね?
588 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 23:30:49.27 ] c++11でも充分よくやってるとは思うけどな でもランタイムで逃げてる言語ほどラクにはならんよなあ ふと今c++にオプション的なランタイムと糖衣構文追加のような形で、LLっぽい共存とかできないのかなと着想したんだけど、Obj-Cがまさしくそれだと気付いて絶望した javaより古いルーツの言語にいちゃもんつけるのもあれだが、あの言語もうちょっと記法レベルでなんとかならんもんなのかな Obj-Cは動的言語面の実装自体はいい線行ってるから、c++のパフォーマンスを有効活用できるプリプロセッサなんか面白いかもな Obj-C++ with Lightweight ここまで没
589 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 23:35:13.76 ] ^が生理的に受け付けないんだが
590 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 23:36:54.80 ] ^^
591 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 00:58:30.07 ] c++ は何が悪いんだろうなあ 一から再構築したらうまく行くもんかねぇ?
592 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 01:12:08.24 ] 何も悪いところなんて見当たらないが?
593 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 01:13:19.95 ] C++はよくやってる部類のはずだが、 低水準から高水準までカバーしつつマルチパラダイムをサポートするという時点で そもそも言語に与えられた問題領域が複雑すぎる部分はあると思う
594 名前:デフォルトの名無しさん [2014/02/17(月) 08:03:03.39 ] C++11とか使える奴はいいよな。過去のコードや古い環境があるから使いたくても使えん。boostはインストールが面倒だし。時間がない。結局家でコードを書くときしか使えんから、学習曲線が緩やか。
595 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 08:03:45.48 ] 関数ポインタの表記が分かりにくい
596 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 08:49:21.69 ] 今はusingがあるじゃない
597 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 09:03:56.85 ] typedef さんの出番を取りやがって...
598 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 14:16:06.87 ] > 何も悪いところなんて見当たらないが? テンプレートとかどう?
599 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 14:19:29.25 ] コンパイルがクソ遅かったり クラス増やすたびにいちいちヘッダファイルを書くとか言う間抜けなことを強いられたり テンプレートでミスるとわけのわからないコンパイラエラーにおそわれたり っていうのは改善されたの?
600 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 14:29:00.81 ] >クラス増やすたびにいちいちヘッダファイルを書くとか言う間抜けなことを強いられたり 他の言語でもかわらなくね >テンプレートでミスるとわけのわからないコンパイラエラーにおそわれたり コンセプトさんが何とかしてくれる コンパイル遅いのは我慢しろ
601 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 17:20:08.30 ] >>599 > クラス増やすたびにいちいちヘッダファイルを書くとか言う間抜けなことを強いられたり それはそういうルールでコード書くことを選択したプログラマの責任だろ。 他から参照しないならヘッダファイルなんぞいらんし、なんならヘッダに全部書いてろよ。
602 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 17:50:41.13 ] >>601 =キチガイアスペ
603 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 18:28:57.40 ] >>600 > コンセプトさんが何とかしてくれる それ10年以上言い続けてるんだけど・・・
604 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 18:31:17.01 ] 次はその表現がまるまる自分に跳ね返ってくるって予想できない? 何かを間抜けって貶すなら自分が貶される覚悟もしておこうよ・・・・
605 名前:デフォルトの名無しさん [2014/02/17(月) 21:28:09.39 ] >>601 そういえば、いつも.hと.cppのファイルごとコピーしてプログラム書くから 後になってcppの中身カラじゃねーか(最初からいらなかった)と気がついたりすることあるな。 ほかにもクラスをテンプレートに変えて、面倒だから全部ヘッダーに書いてcppいらなくなったとか でもプロジェクトに追加してるからほったらかしで意味ないcppが何個も
606 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:34:39.70 ] >>598 凄く便利だけど?
607 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:40:16.67 ] schemeあたりでコード生成する方がはやいのではないか
608 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:45:02.43 ] c++って、どのぐらいまで仕様を把握したら足を撃たないのか一向に分からない
609 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:46:39.42 ] >>607 makeheaders とかでいいんじゃないの。
610 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:49:09.20 ] >>609 学生の頃、いつもc++のヘッダーファイルを手で書いてたよ
611 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:59:25.26 ] ヘッダとかドキュメント生成系のソフト有るけど、 マクロ使ってちょっとソースで変わったことすると、すぐ汚い結果吐くんだよね。 言語レベルでヘッダ/ドキュメント生成のためのルールを規定すれば、 Clangとかが綺麗なのを吐いてくれるようになると思うんだが。
612 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 22:35:09.02 ] >>611 その着想で腰を上げたとして、委員会が完璧な仕様を決めるまで十何年かかるかが問題だなw 生成系ツールや俺俺ルールでお茶濁すくらいが現実解だと思う
613 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 22:43:49.78 ] >>608 足を撃つ、ってどんなレベルのことを言ってるのかで答えは変わる。
614 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 22:44:59.29 ] 意外とやってみれば、コンセプトさんより先に決まるかも。 constexpr より強い、comptexpr (compile time expr) が欲しい。
615 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 22:14:17.07 ] >>608 仕様に由来しないところで幾らでも足を吹っ飛ばせるから考えるだけ無駄 ・・・とか言い出すと言語に寄らずバグらせ放題ってことになるけどな
616 名前:デフォルトの名無しさん [2014/02/20(木) 11:45:50.04 ] >>608 C++はミドルウェアより下のレイヤーで使う言語だから、 分かる人だけ使えばいいんじゃないかな。 エリートさんたちがプログラミングする世界だから。
617 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 11:52:47.95 ] >>616 そのポジションはCじゃね?
618 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 12:03:10.74 ] >>608 ja.m.wikibooks.org/wiki/More_C%2B%2B_Idioms 言語仕様は↑これを完璧に理解出来る程度に分かっていれば良い
619 名前:デフォルトの名無しさん [2014/02/20(木) 12:04:24.13 ] >>617 Cが主戦力であることは否定しないけど、 iOSはデバドラにサブセットC++ WebKITもC++ gccもC++ と増えてきてる。
620 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 12:19:46.28 ] 新しいボード等が出ても、コンパイラがcしか対応してないって、ばっちゃが言ってた
621 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 14:30:13.50 ] そのコンパイラを作って動作保障するのは誰だと思っているんだっ
622 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 14:38:29.56 ] ×保障 ○保証
623 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 17:58:43.05 ] 現れては消える高級言語を使うよりC++のが楽じゃない?
624 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 19:02:16.04 ] C++1yってC++14の次だと思ってたけど、もしかして14のこと?
625 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 19:43:55.90 ] C++17を目指してる次のやつのことであってる
626 名前:デフォルトの名無しさん [2014/03/06(木) 01:45:01.20 ] gcc4.8.1で下のコードでエスケープできないってエラー吐く #include <regex> std::regex re("\\[(an|pan|man)\\]"); VC++では動いてたんだが [ってどうやってエスケープするんだ?
627 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 02:13:16.87 ] >>626 つ Google
628 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 03:15:02.53 ] regexの仕様知らずにいうけど、それでエスケープされないならコードを打ち込む段階で U+005C(REVERSE SOLIDUS)じゃなくてU+00A5(YEN SIGN)に変換してしまったってことはないか? まぁ最悪\xhhとかで代用すればいい
629 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 04:43:28.41 ] >>626 エラーメッセージは本当にエスケープできないって出るの? gcc4.8.1は<regex>の実装がまだ不十分な段階にあるんだが。 gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
630 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 18:35:52.72 ] >>626 VCで動くなら使っているGCCのバグか>>629 だろ GCCなんて使わないでClang使ったほうが良いんじゃないか
631 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 19:16:53.76 ] そりゃあヒーローはエスケープなんてしないもんよ
632 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 19:30:39.21 ] そんなときはRAWリテラルでも
633 名前:626 [2014/03/07(金) 00:10:48.35 ] >>627 stackoverflow.com/questions/15059162/c11-regex-matching 見つけたわダメみたいだね >>628 std::regex re("\\["); std::regex re("\["); std::regex re("\0x5c["); std::regex re("\\0x5b"); 全部ダメだった >>629 /usr/include/c++/bits/regex_compiler.h:467:50 __throw_regex_error(regex_constants::error_escape); ここで死んでしまう >>629 実装されていないんだな >>630 テストコードでは動いたー! インラインアセンブラとかgcc依存プリプロセッサ 使いまくってるメインプロジェクトですんなり使えるだろうか >>632 std::regex re( R"(\[)"); std::regex re( "\\Q[\\E"); これもだめだった とりあえずclangに移行進めます、C++11はスレチだったみたいでスマソ
634 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 00:18:47.68 ] >>633 あ、うんうん
635 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 00:59:17.51 ] >>633 stackoverflowのレスみると C++ standard library(GCC用?)がなんか駄目なんだな。 Clangでこれ使っているならClangでも駄目。で、Boost regex使えか
636 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 08:40:30.61 ] std::threadってどれくらい使える?
637 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 09:38:35.43 ] 普通に使える
638 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 19:48:53.99 ] C++11 <regex> support [2013-10-03] Regular expression support in libstdc++-v3 is now available. だから、GCCは超最近のものでないと動かんのだな
639 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 01:36:43.59 ] regexくらいPOSIXの方でいいじゃんと思ってしまう。 というか、エラーになるということはもしかして、std系って、POSIX関数のラッパーじゃなくてものによっては独自実装しているってことなのか。 知らんかった。
640 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 02:06:43.17 ] >639 std::regex は ECMAScript の正規表現対応だからまず間違いなく独自実装だが。
641 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 02:33:58.47 ] 何も指定しないとECMAになるだけだろ。 バギーな動作するよりは既定でgrepになってた方がまだマシ。
642 名前:デフォルトの名無しさん [2014/03/10(月) 17:05:49.31 ] egrepですらないとか正気か? それともGNU grepとかBSD grepのことか?
643 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 21:38:10.28 ] 基本正規表現も拡張正規表現も書式が違うだけでできることにたいした違いはないでしょ わざわざ実装するとかどうしてそんなことになったんだろ。 キャプチャの問題?
644 名前:デフォルトの名無しさん [2014/03/10(月) 21:57:51.80 ] どのライブラリ実装も実装は別にやるに決まってるだろw
645 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 05:23:11.47 ] 定数をconstexprにするメリットってあんの?
646 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 23:39:44.52 ID:fXwBZvGt] >>645 コンパイル時に決定できないとき教えてくれるからバグを防げる
647 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 05:31:43.20 ID:zulvYP1L] >>646 なるほど
648 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:03:46.54 ID:81wfXhZd] 普通の定数でも決定できないとエラーになるんじゃね
649 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:14:49.29 ID:+lIKaSU4] >>648 ならないよ。そのスコープに入るときに計算されるだけ。
650 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:32:07.93 ID:nfV6YhIZ] >>648 constだと const int x = rand(); みたいなことが普通に出来る。constexprでは不可。
651 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:41:03.39 ID:nfV6YhIZ] >>650 を書いてから思ったけど、C++14ならコンパイル時乱数ってのもそれほど難しくないよなw
652 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:47:59.08 ID:81wfXhZd] >>650 ああ、そうだ const を使った時にエラーになるだけだった (コンパイル時定数でないといけない所に使うと)
653 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:31:28.19 ID:gZyvGjeH] >>651 コンパイルのたびに変わられてもなあw デバッグ担当者に恨みがあるときに有用か
654 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 00:55:48.19 ID:8ZkUtZ7A] これは素晴らしいコード よく覚えておこう
655 名前:デフォルトの名無しさん mailto:sage [2014/03/18(火) 21:52:05.87 ID:UBk2tVSE] 江添より始めよ ドワンゴの会長が江添に、C++プログラマを招く方法を相談したところ、 「まず自分のような優秀でない者を優遇してください。 そうすれば、もっと優れたC++プログラマが次々に集まってくるだろう」と言ったという故事から。
656 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 03:12:08.03 ID:eiPnsEPV] ホワイトボードにくだらねえコード書かせる 面接やめりゃいいんじゃないの あれは萎える
657 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 03:16:23.59 ID:vxKEh5eU] なにそれ あーここ文法エラーですねーご縁なかったですねー みたいなことでもやってんのかい
658 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 09:19:45.88 ID:zT3d0OOi] >>655 何かと思ったら江添氏ドワンゴニ就職してたんだな。そりゃ妬ましいですなあ。
659 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 09:54:25.98 ID:bZgbKUm9] ドワンゴに就職してからアンチ増えた気がするね。 大抵655みたいな下らない奴なんだけど
660 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 13:52:16.85 ID:jfFivXOk] ドワンゴとかいうブラック企業に入ったらご愁傷様としか思わん
661 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 14:05:41.36 ID:CB1HUIXp] 仮にブラックだとしても、裁量労働制でノルマもないんだから羨ましいことはあっても不憫には思えないな。
662 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 21:11:44.61 ID:aDPhdWIk] C++14っていつ頃の予定になってんの
663 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 21:16:13.44 ID:5IXC0HIP] 14年ごろ
664 名前:デフォルトの名無しさん [2014/03/20(木) 00:18:22.53 ID:1Y22wDAD] 実際のところ皆はもう案件でC++11使ってる? うちはまだダメだ。boostもダメ。
665 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 22:13:56.93 ID:/M0F5d5s] >>664 実案件はまだでしょ、自分で使うツールとかで実験的に使い始めたところ 範囲ベースの for とかめちゃ便利だわ
666 名前:デフォルトの名無しさん [2014/03/20(木) 22:58:12.94 ID:N5eLnApK] 納入とかない仕事なんでC++1yでさえ使ってる。
667 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 01:32:54.13 ID:OkOuwegv] 小規模iOSアプリで使い始めてるけど特になんの問題もない 先んじて、月単位の独自研究の成果を各自持ち寄った結果でもあるので仕事場の空気レベルで特殊な例だと思うが
668 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 01:37:21.03 ID:7xig81Eo] >>664 2011年開始の案件以降、環境がVC2010になったからVCの機能の範囲で使いまくってる。 もうautoなしなんて考えられん。
669 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 02:57:02.70 ID:FGAg6ToC] vs2012だからゴリゴリ使ってる boostも使える range based forとauto無しでは生きられん
670 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 07:26:47.86 ID:21MtAdc/] >>669 > range based forとauto無しでは生きられん range based for って、cbegin( ) 呼んでくれないんだけど、そう言うケースはどうしてる? うちでは、その部分は従来の書き方してる。 すごくいい機能だけど、それだけにちょっとガッカリ感がハンパない。
671 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 07:27:35.49 ID:sDay5++M] const auto& にすれば?
672 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 08:38:07.12 ID:FGAg6ToC] >>670 for_each使うかconst auto&だなー
673 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 08:54:32.73 ID:VBQzVRnq] template<typename T> const T& const_wrap(const T& v) { return v; } for(auto &i : const_wrap(v)) 要するにconstへキャストしとけばいいんだろ?
674 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 10:11:54.32 ID:876LI0nh] >>671 cbegin( ) 使ってくれる? VS 2013 だとダメだったんだが >>672 for_each ならいけるの? いま出先だから、あとでちょっと試してみる >>673 今んところこれが定番みたいなんだけど、無理矢理感ハンパない for_each(const auto& i : const v) みたいな構文で使えればいいんだけどね
675 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 11:30:52.58 ID:7xig81Eo] >>674 cbegin()を使ってくれなくてもiがconstになっていれば文句ないけどね。
676 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 12:14:37.18 ID:21MtAdc/] >>675 v がメンバーだと const なメンバー関数で begin( ) 使うと怒られるんよ て言うか、そのための cbegin( ) なんだが...
677 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 12:54:02.21 ID:VQJvHtSf] >>676 あなたの使ってるコンパイラのライブラリのコンテナ群はconst付いてるbegin endが定義されてないの?
678 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 13:11:49.86 ID:7xig81Eo] >>676 そういうときはconst付きのオーバーロードが自動的に選ばれるんじゃないの・・・ って、>>677 に先に言われたか。
679 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:20:44.86 ID:IxwabTo/] >>677-678 ん、ここc++14/c++1yスレですよね?
680 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:32:21.97 ID:7xig81Eo] >>679 const付きのbegin(),end()はC++11でも削除されてないし、C++14で削除される予定もないよ。
681 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:38:34.04 ID:pRTSEoEQ] 新機能じゃないじゃん
682 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:51:30.57 ID:B1xV2tLh] range based for に問題があるって話に対して、いやそれは問題じゃないよって話をしてるんだろ
683 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 17:01:19.62 ID:VQJvHtSf] まぁrange based for自体が新機能じゃないな。
684 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 17:43:07.83 ID:aQAHkMot] foreach みたいなものだろ
685 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 18:01:34.42 ID:xvdwrk0X] >>677-678 え゛っ、const 付きの begin( ) にしとけば使ってくれるんか? マジで知らんかったわ。 VS 2013 で使えるか、やってみよ。
686 名前:デフォルトの名無しさん [2014/03/21(金) 18:38:14.12 ID:lD60fRJj] 使ってくれるんか? ↑ 方言かい。関西弁としてもけったいな言い方だな。
687 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 18:39:36.89 ID:nNEE3Utq] つこてくれるんケ?
688 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 19:01:21.39 ID:bqevYXZK] これが方言に見える地方って・・・・ 頭悪そうな文体ではあるけど
689 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 20:41:01.65 ID:PuCTRIi5] >>688 だって土民は自分が使っている言葉が標準語 そして、それ以外すべてど方言なんですよ
690 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 20:52:49.08 ID:21MtAdc/] >>686 > 方言かい。関西弁としてもけったいな言い方だな。 気色悪い関西弁やめてんか
691 名前:デフォルトの名無しさん [2014/03/21(金) 20:56:25.66 ID:lD60fRJj] begin( ) にしとけば使ってくれるんか? あのな、主語が何なのか聞いてるんだけど。それとも「使えるんか?」 を「使ってくれるんか?」と言うのかい。 まあ、言葉の使い方おかしいんじゃないかと言ってるのに おい、>>689 。お前は自分では何にも言えないくせに、後ろ からキャンキャン吠えている女みてえな糞野郎だ。
692 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:14:19.42 ID:PuCTRIi5] >>690 それがそいつの標準語だよ。基地土民のね
693 名前:デフォルトの名無しさん [2014/03/21(金) 21:15:25.97 ID:lD60fRJj] はいはい、弱い犬ちゃんw
694 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:18:56.71 ID:PuCTRIi5] 土民は >方言かい。関西弁としてもけったいな言い方だな。 で、主語が何なのか聞いていたのか? 土民じゃないと土民標準語理解できないからな
695 名前:デフォルトの名無しさん [2014/03/21(金) 21:19:33.78 ID:lD60fRJj] もう、馬鹿はほっとこ。じゃあね
696 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:40:53.28 ID:o/AML2E/] >>685 この流れの所為で > const 付きの begin( ) にしとけば がツッコまれていない件について begin()にconstつけないだろ
697 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:51:39.48 ID:sDay5++M] ttp://msdn.microsoft.com/ja-jp/library/1sc2e041.aspx ついてるけど何が言いたいんだ
698 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:59:08.90 ID:o/AML2E/] >>697 いや使うときに
699 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 22:28:38.75 ID:21MtAdc/] >>698 意味わからん どっから使う時なんて発想が出てきたんだ?
700 名前:デフォルトの名無しさん [2014/03/21(金) 22:36:41.76 ID:yZ2dHoTg] constありのbeginの戻り値をconst_iteratorにして、constなしのbeginの戻り値をただのiteratorにして、 beginは両方多重定義しておけばいいじゃん。使うときは インスタンスがconst付きかどうかで自動的に選択されるじゃん。
701 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 22:48:25.31 ID:i1lS1iqd] >>698 イミフ
702 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 23:15:08.50 ID:PuCTRIi5] 今度はじゃんか。ニダよりは良いよね
703 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 11:59:46.75 ID:w77uEg4K] >>680 それはそうだけど>>674 をエスパーすると c++11で追加された型推論ではautoにconst付けないと constのbeginが呼ばれないって話でしょ 完全にautoを無視した話してたからいつの時代の話してるんだと思っただけ
704 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 12:22:44.80 ID:ZdExmIEg] for (const auto &i : v) と書けばいいよ、といえばすむ話だったのか。
705 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 12:59:52.50 ID:ZPzngx0K] それでは済まないしautoも関係ない話だと思ってたが そう考えてたやつもいるんだな
706 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 16:29:25.17 ID:eq/IxRl7] >autoにconst付けないと >constのbeginが呼ばれない まるで、constを付けるとauto begin()const->const_iterator が呼ばれるかのような発言だな。
707 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 16:39:36.81 ID:HJ0+n2Jk] constで受けてもbegin()constの方が呼ばれないのは解ってんだけどそれが問題になるのどんなとき? 上の方でそれで済まないとか書いてあるからさ。
708 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 16:41:53.88 ID:j1DZjBUB] もしかして自作コンテナで cbegin に別な意味を持たせてる?
709 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 18:44:56.14 ID:7xC9kwdc] 自作コンテナで非constのbegin()およびそのイテレータの デリファレンスにコストのかかる処理があるときは問題となる
710 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 19:32:15.59 ID:ZdExmIEg] const付きbeginとcbeginの処理が異なっているなんて規格上許されるのか?
711 名前:710 mailto:sage [2014/03/22(土) 19:32:49.47 ID:ZdExmIEg] ああすまん、自作コンテナの話か。
712 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 19:49:09.81 ID:HJ0+n2Jk] 自作コンテナの話の方はbeginのconst付きと付いてないの実装の差異だと思うけど。 ただあんまりそんな実装しないよね。 パッと思いつくのrwlockでconst付きはrlock、const無しはwlock するようなコンテナとか? でもconst有りと無しで問題になる程パフォーマンス変わるようなコンテナは逆に使いづらいと思うのよね。
713 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 22:37:22.96 ID:j1DZjBUB] >>709 そういう問題の解決をcbeginに求めようとしているのだな? 不適切なやり方なのかもしれないし、そうでないかもしれない。
714 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 06:39:41.19 ID:Ci/6MbS/] 文盲が多いな constと非constの違いの話だと思うのだけれど どうしてcbeginとbeginの違いの話だと妄想したがるのか
715 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 10:39:09.00 ID:buFfa6rW] >>714 そもそもは>>670 から始まってるから
716 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 10:56:12.39 ID:J+Rs1swr] 混乱するから誰かまとめて
717 名前:デフォルトの名無しさん [2014/03/23(日) 11:36:21.59 ID:sV6DQ8Cb] template <class T1, class T2> auto operator + (T1 x, T2 y) -> decltype(x+y) { return x+y; } 上のところで、 error: template instantiation depth exceeds maximum of 900・・・ recursively required by substitution of 'template<class T1, class T2> decltype ((x + y)) operator+(T1, T2) [with T1 = std::complex<double>; T2 = double] みたいなエラーがでます(gcc4.8.1)。これって、decltype(x+y)のところで、operator+が再帰的に呼ばれているということですか?
718 名前:片山博文MZジェバンニ ◆T6xkBnTXz7B0 mailto:sage [2014/03/23(日) 11:39:47.07 ID:FjLlR1KU] >>717 それってそもそも必要なの?
719 名前:デフォルトの名無しさん [2014/03/23(日) 11:46:12.34 ID:sV6DQ8Cb] まあ、auto, decltypeの練習で試しにやってみたんですけど。
720 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 12:06:50.29 ID:E9zZ+v+U] 再帰だろうね
721 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:34:05.08 ID:+klle/r1] 演算子+(T1 x,T2 y)の返値の型は 演算子+(T1 x,T2 y)の返値の型と定義しているようなものなのでは
722 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:55:55.41 ID:wql3g0E+] C++1yならそもそも -> から先要らないよね
723 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 15:32:38.95 ID:9EUDVluQ] 下請けに丸投げ
724 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 16:37:18.36 ID:FjLlR1KU] 下請けに投げたと思ったら、自分の会社に投げていたでござる
725 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 16:42:36.55 ID:wDKVi9AQ] decltype以前に無限再帰じゃん コンパイル時に見つかるだけいいんじゃね template <class T1, class T2> auto operator + (T1 x, T2 y) -> decltype(auto) { return y ? (++x)+(--y) : x; }
726 名前:デフォルトの名無しさん [2014/03/23(日) 21:55:13.61 ID:sV6DQ8Cb] #include <complex> ... complex<double> z(0,1); cout<<1+z<<endl; をコンパイルすると「複素数と整数の演算+は定義されていない」旨のエラーがでます。ところが template <class T> struct double_trait { typedef T type; }; template <class T> using Dtype=typename double_trait<T>::type; template <class T> std::complex<T> operator + (Dtype<T> c, const std::complex<T>& z) { return c+z; } をmain()関数の前に定義すると、今度はビルド実行できます。わからないのはintの場合の特殊化 をしてないのになぜビルド実行できるかです。 ※complex<double>とintの単純な演算子オーバーロードを使わなかったのは オペランドがchar, unsignedなどの場合にも対応させるためです。それと int iとcomplex<double> zに対して単純にreturn i+z;とするとなぜか実行時 エラーが出ます(TDM gcc4.8.1)。
727 名前:デフォルトの名無しさん [2014/03/23(日) 22:06:19.15 ID:sV6DQ8Cb] あ・・・ operator+の定義内でreturn i+z; とやるとまた再帰的にw
728 名前:デフォルトの名無しさん [2014/03/23(日) 22:56:26.24 ID:sV6DQ8Cb] あ・・・。 template <class T> std::complex<T> operator + (Dtype<T> c, const std::complex<T>& z) は実体化される時に std::complex<double> operator + (double c, const std::complex<double>& z) となり、intやchar型の実パラメータが渡されるときに暗黙の型変換が適用されるのか? template <class T> std::complex<T> operator + (T c, const std::complex<T>& z) でもokでした。traitsは関係なしと。お騒がせしました。 今日はもう寝ます。
729 名前:デフォルトの名無しさん [2014/03/23(日) 23:05:46.93 ID:sV6DQ8Cb] あれえ?もう一回やったらokじゃない。小保方さんのSTAP細胞みたいに なっちまった。寝る。
730 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:17:30.67 ID:k+FbO2rG] >>729 お疲れ様。 俺も寝よう。おやすみ。
731 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:27:25.54 ID:oWIQ1yda] C++11でもOKって、C+1yで使えるならCの質問でもOKスレってことだよね
732 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:50:33.19 ID:8OD1stAu] そういやC11スレって無いな
733 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:53:52.09 ID:Cwtmew+7] そもそも環境あるのか?
734 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 02:55:24.26 ID:zheSyNc8] スマホとMac
735 名前:デフォルトの名無しさん [2014/03/24(月) 22:27:29.45 ID:uHELE/QG] VC++2013を未だインストールしてないので、次のコード動くか確かめてもらえないでしょうか? #include "stdafx.h" template <class T> struct double_trait { typedef T type; }; template <class T> using dtype=typename double_trait<T>::type; template <class T> std::complex<T> operator + (dtype<T> c, const std::complex<T>& z) //@ { return c+z; } int main() { using namespace std; complex<double> z(0,1); char c=-1; cout<<c+z<<endl; cin.get(); return 0; }
736 名前:デフォルトの名無しさん [2014/03/24(月) 22:46:48.96 ID:uHELE/QG] あ・・・。stdafx.hの中に次の2行が必要です。 #include <iostream> #include <complex> >>735 の@の引数を直接double cにすると、「多重定義であいまい(ambiguous)」のエラーが出て しまいます。floatにするとコンパイルエラーは出ませんが、無限再帰に陥るのか実行時エラー が出ます。dtype<T> c の場合は、T=doubleなので実質dtype<T>=doubleとなるのになのに、 コンパイラはエラーを出さません。また、正常に実行されます。どうも、コンパイラを欺く トリックではないかと。 ※ 1.0+zと書けばすむ話ですが、数学の教科書では普通にz+1とか、1+zとか書きますよね。 しかし、プログラムでうっかりz+1と書いてしまうと、分けのわからないエラーがベラベラと 出てきて初心者はとまどいます。それで、>>735 みたいな手の込んだことをするわけです。 でも、複素数と整数の混合演算を簡単にできる方法ないですかね。
737 名前:デフォルトの名無しさん [2014/03/24(月) 22:48:12.05 ID:uHELE/QG] T=doubleなので実質dtype<T>=doubleとなるのになのに、コンパイラはエラーを出さません。 ↓ T=doubleなので実質dtype<T>=doubleとなるのに、コンパイラはエラーを出しません。
738 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 22:52:52.12 ID:JglQ1MVO] >次のコード動くか確かめてもらえないでしょうか おまえ御命令だ。やれよ
739 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 23:30:50.09 ID:f/NUMeag] もはやただのテンプレートの話で11,14関係ないだろ でもひとついっとくとすでに標準に template<class T> complex<T> operator+(const complex<T>&, const T&); template<class T> complex<T> operator+(const T&, const complex<T>&); はあるから > >>735 の@の引数を直接double cにすると、「多重定義であいまい(ambiguous)」のエラーが出て > しまいます。 はそのせいだろ
740 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 23:47:28.16 ID:6M4RZ6kU] オンラインコンパイラサービスは色々あるからそれを試すのが良いよ GCC:melpon.org/wandbox/permlink/gCuQdogNabmJhVeF Clang:melpon.org/wandbox/permlink/FkystRrbxJlhHwvf 結論としては、dtype<T>は関係無い。dtype<T>はdouble_trait<T>::typeに展開されるのでTはnon-deduced context、よってここでは推論の対象とならない。 けれども、第二引数のcomplex<T>のTはdeduced contextで推論される。結局Tはcomplexのテンプレート引数に推論されてオーバーロード候補としてマッチする。 参考:melpon.org/wandbox/permlink/CYnRbBgzf2gL4vGL ここも参考になるかも(英語) stackoverflow.com/questions/8775202/how-do-template-aliases-affect-template-parameter-deduction
741 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 00:57:00.26 ID:rAz4buIA] >>739-740 俺には?だが、原因が分かるってレベル高いんだな g++にはdemangleする関数あるのか、メモメモ(AA略)
742 名前:デフォルトの名無しさん [2014/03/25(火) 01:03:54.21 ID:dLACqsrm] >>740 ありがとうございます。 私は、多重定義のチェックと実体化のタイミングの問題かな?と考えました。 となると、コンパイルによってはダメかもしれないと考え、VC++ではどうなるんだろ? と思った次第です。 >dtype<T>は関係無い。 そうですか。私は「double_trait<T>::typeで包むことによってコンパイラ の多重定義のチェックから逃れているが、最終的にはdouble型の引数を もった関数が実体化され、実パラメータがcharやintの時に暗黙の型変換 が働いている。」と解釈していました。 この考えは間違いですかね。
743 名前:デフォルトの名無しさん [2014/03/25(火) 01:08:25.46 ID:dLACqsrm] 解釈していました。 ↓ >>740 さんを読んで解釈しました。
744 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 02:59:03.84 ID:cgyBljYJ] で、どの辺がC++14なの? 現行規格の質問は現行規格スレでやれ
745 名前:デフォルトの名無しさん [2014/03/25(火) 09:56:38.99 ID:aIELEUmN] ああ、C+11/C++14じゃなかったんですね。失礼しました。
746 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 18:38:12.70 ID:ktix9ZhM] C+11ってC++11とC11のどっちだ
747 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 22:03:54.20 ID:DjVofhuk] C+11 = C+1一 = C++ = C++
748 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 00:25:37.22 ID:BPRBwKR1] >>740 そのmelponてとこで手持ちのコードを走らせてみたらclang 3.4では通るもののgcc 4.8.1ではコンパイルエラー。 念のためideone(gcc 4.8.1になってる)でやってみるとコンパイル成功して実行もできる。 vc(2010, 2013)でも問題なし。 なんか変だな???
749 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 19:10:33.17 ID:ysWuWvgs] >>748 呼称はwandboxがよいと思う ソースによるけど新しい機能についてはコンパイラにバグがある可能性もある、またはオプションの関係とかも 詳しいところは実際のソースを見なければわからない
750 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 19:56:25.59 ID:9PLgomQW] >>749 ソースすら出さないであーだこーだって、独り言(俺日記)カキコしてもって感じだよね
751 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 20:40:31.98 ID:BPRBwKR1] >>750 そう言われてもね。 ソース垂れ流しても迷惑だし、ちゃんとポイントを絞って提示するのは難しい。
752 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 20:42:26.73 ID:2pJmwYuc] 無能なのね
753 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 21:25:42.63 ID:BPRBwKR1] うん。 そのwandboxってやつのgccエラーを読んでもわからないので、抽出できない。 「 'v' は type 'int(int)' であってメンバーポインタじゃねーよ!」と言ってるらしいんだけど、 その行の近辺に 'v' なんて無いし・・・
754 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 21:45:50.64 ID:Y1umZvGr] auto変数が分からないと飯が食えなくなる?STLでかなり危ないが
755 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 21:48:18.57 ID:Vfy/7S1e] 釣りなら初心者スレでどうぞ
756 名前:デフォルトの名無しさん [2014/03/27(木) 16:12:52.97 ID:6aYzX2Zx] 飯がどうとかいう話は次元が違うからマ板でやれ。
757 名前:デフォルトの名無しさん [2014/04/01(火) 20:42:02.69 ID:gKhRKamL] >>755 >>756 馬鹿のくせにエラそうに言うから誰も書き込まんだろ。 もう、お前ら来るな。陰菌じゃなかった、陰気臭い。
758 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 21:14:46.02 ID:28c8XDsv] 「俺、auto使えないんだ」と自己紹介乙
759 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 22:04:36.61 ID:+EnZFn0e] アウト!
760 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 00:28:39.77 ID:4mJ5OkVZ] auto が使える子になったというのに一向に使えないおまいらワロスw
761 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 01:11:58.18 ID:xWN8C05F] C++11以降の書籍がほしいお
762 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 06:12:23.58 ID:pjklZg5A] >>757 > 馬鹿のくせにエラそうに言うから誰も書き込まんだろ。 馬鹿が書き込む必要はないからこれでよい。 過疎板で無理にすれ違い板違い場違いネタ雑談でスレを伸ばす必要はない。
763 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 07:26:49.12 ID:16PuwTBy] VC++2010でauto使うとたまにコンパイラがエラー吐く
764 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 07:42:34.19 ID:SfgYmxWg] 規格が改訂される前に出荷されたコンパイラーに文句言うなよ
765 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 07:47:42.02 ID:VoSgAfoQ] 2013使えよ
766 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 10:04:03.61 ID:X8BOgtKu] constメンバ関数内で特定のメンバ変数を(自己責任で安全に)書き換える許可を与えるのってなんでしたっけ
767 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 10:07:17.45 ID:VoSgAfoQ] mutable
768 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 10:45:51.70 ID:X8BOgtKu] サンクス
769 名前: ◆QZaw55cn4c mailto:sage [2014/04/02(水) 18:56:18.22 ID:9lAFE+Pq] >>761 まだ外書レベルのようですね.kindle 経由で iPhone でしこしこ読んでいるけど結構厳しい(よる年波で近眼がつらい‥‥)
770 名前:デフォルトの名無しさん [2014/04/02(水) 20:50:01.60 ID:Oc3JiJZr] というか、何でスレタイが C++14/C++1yなんだよ。 C++11だって使いこなせていない奴いるのに。
771 名前:デフォルトの名無しさん [2014/04/02(水) 20:51:57.60 ID:Oc3JiJZr] >>762 じゃあ、お前が書き込むなよ。お前、ウザいんだよ。 職場でも嫌われ者だろ
772 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 20:57:19.75 ID:PAouqAzj] 現行を使いこなせてないとか次期C++スレで言われても
773 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 21:27:44.90 ID:ueE6QFcL] 可哀想な子なの。触らないで
774 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 21:31:38.39 ID:QnsIQKqw] C++を理解していない奴がいる ↓ C++の改定予定の次期規格のスレに物申す この発想がキチガイ
775 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 21:38:22.33 ID:YTP5IJHu] ID:Oc3JiJZrって必死にぐぐりながらカキコしてんだろうなw いちいち支離滅裂だもんw
776 名前:デフォルトの名無しさん [2014/04/02(水) 22:12:14.42 ID:Oc3JiJZr] 馬鹿の妄想w
777 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 02:29:15.18 ID:xLDtsOGn] 人類史上c++を使いこなした人はいません
778 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 10:48:28.43 ID:IeRRdjD0] じゃあ俺が最初人間だったんだ
779 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 18:21:45.92 ID:sk+nDb/g] はじめ人間ぎゃーとるず
780 名前:デフォルトの名無しさん [2014/04/08(火) 20:23:35.09 ID:vxIM531p] 使いこなせなくたっていいじゃないの。この言語。 俺は好きだけど
781 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 00:42:36.67 ID:jje258uF] おまいらオートというよりマニュアルがないとなにもできないマニュアル人間だもんなw
782 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 01:21:53.49 ID:g6kjuewa] >>781 面白い!()
783 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 15:26:13.37 ID:gPopJ2Qe] ラーメン作る時も水を計量し茹で時間もぴったりでないと気が済まないマニュアル人間
784 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 16:41:19.25 ID:QfBMtLzF] 計量もせず料理してんのか 自分で食うだけならいいけど迷惑だから人に振る舞うなよ
785 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 16:46:11.25 ID:wSq/pgWA] >>783 料理ってそういうもんだから
786 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 16:54:31.75 ID:g6kjuewa] >>783 目分量を「アート」とか言っちゃう人かな?
787 名前:デフォルトの名無しさん [2014/05/01(木) 06:16:27.89 ID:jnur+x0Z] Programming: Principles and Practice Using C++ (2nd Edition)がもうすぐ出るな
788 名前:デフォルトの名無しさん [2014/05/02(金) 21:31:40.17 ID:IMg3w3Zx] 「C++フロントエンドとしてClangを使ってLLVM中間コード(IR)を生成したのち、 プロプライエタリなIntel製のコンパイラでその中間コードをネイティブコードにコンパイルする」 IntelがClangベースのC++コンパイラを開発 | スラッシュドット・ジャパン デベロッパー developers.slashdot.jp/story/14/05/02/0425216/ 2014年05月02日 16時03分
789 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:33:01.03 ID:J9FrsreK] ここはツイッターじゃねぇ 意味不明なクソレスすんな
790 名前:デフォルトの名無しさん [2014/05/04(日) 15:47:12.32 ID:fKxZYvEo] Clangのは最新のC++規格のサポートが進んでいる
791 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:48:49.88 ID:uzMRkq8y] そうか。
792 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:51:37.36 ID:8lK5PBNC] 進んでるっていうかC++14既に対応してるな
793 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:51:53.35 ID:ZNtj5n0p] >Clangのは最新のC++規格のサポートが進んでいる ここはツイッターじゃねぇ 意味不明なクソレスすんな
794 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:52:44.98 ID:LHvIgNMr] 完成していない規格に対応とはこれ如何に
795 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:57:25.44 ID:kkY/TYaH] Intelは相変わらずノロマだなw
796 名前:デフォルトの名無しさん [2014/05/04(日) 17:50:41.76 ID:j7xk1fk5] >>793 おまえのどこがえらいのかさっぱりわからん
797 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 18:50:46.13 ID:BIZ4TF2L] for(true) { 1500行くらい・・・ } キチガイですよね?
798 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 18:59:41.45 ID:n8bRVLF6] >>797 だね。
799 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 00:03:57.91 ID:r55hxj+Y] 犯罪行為といっていい
800 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 03:18:19.56 ID:Gkok4GNb] >>795 Intelは科学計算や高速金融取引が主要顧客だろうから、 無理して新規格に追従しなくてもいいんじゃね?
801 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 09:44:39.50 ID:vIqS8S8I] プログラマ視点で考えるとコードの生産性が重視されるけど、ユーザー視点 だと実行速度になるからなあ。 C++の最新規格を積極的に取り入れたいならClangだろうけど、実行速度を 考えるとインテルコンパイラなんだよ。コンパイラだけで数倍変わるケースも あるからなあ。まあ、科学技術計算のところは往々にしてC++11すら必要な いからなあ。
802 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:01:09.16 ID:ulMr1Kur] あなたの言うところの科学技術計算とは? 大風呂敷広げずに答えよ
803 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:42:04.45 ID:vIqS8S8I] 未だにFortranが使われているような領域だよ。スパコンなんかgcc4.2とかが未だに 現役なんだよ。スパコン向けのコードを書くときに、規格の問題でコンパイルに苦労 することがある。また、科学技術計算では線形問題を扱うことが多いので、Lapackや MKLが使われるし、自前でコアな部分を書くときはインラインアセンブラだから、 今のところC++11が必要とされないんだよ。最も科学技術計算を行う研究者がC++11 とかに興味がないんだろうけどね。本質じゃないから。個人的には使ってもらいたい と思うんだけどね。
804 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:47:12.04 ID:dXEEoavT] 現実はいろいろってことやね
805 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:59:29.98 ID:1BHBnJWI] 過去の資源にてこ入れできればいちばんよいのだけれどな コンパイラのソースなんてGPLでもなければまず公開されていないと思われ
806 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 20:18:59.16 ID:uepcHE1E] Fortran77は氏ね
807 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 21:02:53.84 ID:G7yR9GEh] >>803 研究者ならC++11覚えるより、研究にはげめだろ 本職、プログラマじゃないしな
808 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 22:47:09.24 ID:YSa885x0] 今でもFortranのコードは高速に実行される訳だから無理に変える必要も無いわな
809 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:21:50.16 ID:NL7z67wf] 自動ベクトル化への対応とかを考えると 下手にプラグマとかが足されていないC/C++で書くよりも Fortranコードは高速かもしれない
810 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:46:52.06 ID:M8aO/3ni] 門外漢だけど1954年生まれの言語が未だに速度でアドバンテージ持ってるってすごいな と思ってググって覗いて見ると、言語としてはとくに面白さがないようで。。 科学技術計算向けDSLみたいな立ち位置なのかしら
811 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 01:59:22.48 ID:2BPuRbma] fortranのコードってCからも呼べるが、 標準では配列のインデクスの先頭が1なのが面倒。 fortranが速いのって、各関数で配列のサイズが明示されるからだと思うけど、違うのかな? エイリアスの問題はfortranでも生じると思うので、ここは関係ないと思うけど。
812 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 02:07:43.53 ID:BDsjto8t] >fortranのコードってCからも呼べる そんな、処理系依存の機能を さも普遍的であるかのように語られても
813 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 03:02:53.82 ID:R4LFdeTL] >>810 lisp族もがむばっているようだ、ロートルはあなどれない
814 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 04:28:48.58 ID:NYusw8jW] 現代でも特定分野でアドバンテージをもって使用されているコボルってすごいな 年配のエキスパート職の人に愛されているエキスパート向け言語
815 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 07:09:49.45 ID:ug+nXQnt] >>811 > fortranのコードってCからも呼べるが、標準では配列のインデクスの先頭が1なのが面倒。 Fortran って多次元配列のインデックスの付け方が他の言語と違うんじゃなかったっけ? > fortranが速いのって、各関数で配列のサイズが明示されるからだと思うけど、違うのかな? それは違うでしょ、C でも多次元なら明示しないとダメだし、一次元ならサイズは範囲外アクセスのチェックにしか使わないから。 Fortran のアドバンテージは主にベクトル化の作り込みとか、ライブラリとか、最適化のためのツールとかが充実してることだと思う。 >>812 いまどき、できない処理系なんてあるのか?
816 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 08:03:25.46 ID:zGtSvv5a] Cだとrestrictや処理系依存の属性を付けて回らないといけないような最適化がFortranだとデフォでできるってのもある
817 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 10:54:15.76 ID:Yg7JhZN+] 理研の研究者曰く、Fortranを使う理由としては自動ベクトル化の 恩恵にあやかれるのが一番大きいと言っていた。昔のスパコンは ベクトル機が主流だったからなあ。
818 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 11:01:33.57 ID:FBNZj3A1] >>803 スパコン向けだとコンパイラがそのスパコン作った所の自作ってこともあるからな C++11がそもそも使えなかったり
819 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 11:25:09.41 ID:ftcgEc1V] >>816 表現能力が高くない言語だから、最適化がしやすいんだよな
820 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 13:17:10.31 ID:+EFNtusy] >>818 自作っつーても1から作ってる訳じゃないし、要望ないから対応してないだけでしょ。
821 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 12:34:05.56 ID:Ll0I2s7d] Fortianってcall by referenceじゃなかったっけ restrict相当のことができんの?
822 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 13:43:06.59 ID:JZCmTzL0] 汎用言語が特化型言語にその分野で勝てるなどと本気で思っているのか
823 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 14:03:00.45 ID:713NAhwC] >>821 そりゃぁ、できるでしょ 規格にエイリアスが起こるような引数で呼出をしちゃダメって書くだけだから でそれを知らずに使うと結果がおかしな事になるだけ
824 名前:デフォルトの名無しさん [2014/05/12(月) 19:30:19.95 ID:iANYuL+Z] >>811 違う。ライブラリが優秀なだけ。
825 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:24:46.27 ID:y9Wttb40] >>824 だけであれば、コンパイル済みライブラリを呼び出し規約だけ合わせて持ってくればC/C++で同等の効果が得られるはずだが。
826 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:44:34.39 ID:YQWleS5K] >>825 そうだよ
827 名前:デフォルトの名無しさん [2014/05/12(月) 23:46:56.67 ID:vVaOlzqd] >>825 読んで ja.wikipedia.org/wiki/LAPACK
828 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 00:05:22.43 ID:TqSYjziR] >>824 違う。エイリアスを禁止している。
829 名前:デフォルトの名無しさん [2014/05/13(火) 00:21:54.82 ID:zyf+D5WO] そんなんスパコン向けのCでもpragmaで記述可能。 FORTRAN屋のリソースが一番重要。
830 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 01:14:38.11 ID:dZPvmt+0] 最近のC/C++コンパイラとFORTRANコンパイラの性能比較ってあんまり聞かないけど、 まあほぼ差ないよね?
831 名前:デフォルトの名無しさん [2014/05/13(火) 01:24:02.00 ID:zyf+D5WO] それはプラットフォームに寄るけど、例えばIntel製のx64コンパイラなら大差ない。x86の時代から。
832 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 01:29:12.40 ID:XEtmCF4Z] 行列計算ガリガリやるような場合は、fortranの並列化が良く出る cでもコードが綺麗でintelコンパイラがしっかり並列化してくれるなら同じくらい
833 名前:デフォルトの名無しさん [2014/05/13(火) 01:31:49.46 ID:zyf+D5WO] Crayの時代から言語仕様の差は殆ど無いよ。アホらしい。
834 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 03:37:05.89 ID:Y9eapwzT] ところでこの流れ、C++14/1yと関係ありますかね?
835 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 03:53:09.16 ID:ikx/cn8e] SIMD命令をどう扱うか、あるいは最適化とのバランスをどう取るかは 古くて新しい問題なので関連がないとは言えない……かもしれない 過去にはFortranよりも別名の解析が難しすぎて性能出せないからrestrictが入ったりした いずれIntelのCilk Plus拡張みたいなのがC++にも入ったりするんだろうか
836 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 03:56:08.26 ID:pwL99Gt3] Parallel STL とか。 blogs.msdn.com/b/vcblog/archive/2014/04/16/parallel-stl-democratizing-parallelism-in-c.aspx
837 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 17:33:20.42 ID:nq8xv96S] >>835 派荒らし
838 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 08:43:17.47 ID:sZLJbsHl] >>833 範囲指定で演算出来るのとできないのじゃ全然違うだろ a(4:16) = b(4:16) + c(4:16) C++の言語仕様じゃこんな事出来ん。 C++で対抗するならCompiler依存の最適化に頼ってvalarray使うしかない。
839 名前:デフォルトの名無しさん [2014/06/11(水) 09:27:46.69 ID:PJoRkmgD] つstd::transform
840 名前:デフォルトの名無しさん [2014/06/11(水) 11:50:08.04 ID:01hDVrAo] >>838 FORTRAN2008でも並列化されるかどうかは実装依存だろw
841 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 20:54:25.72 ID:EAcelASi] >>840 実装依存じゃあるが、std::valarrayは常用されないんで、 殆どのvalarrayを使わない外部のLibraryを 持ち込んだりすると大きな差が出る。
842 名前:デフォルトの名無しさん [2014/06/12(木) 01:25:23.15 ID:gBR3iv8w] autoが入ってから面白いコトが出来るようになったな。 struct Some{}; struct One { static int Some(void); }; template<class Type> Moon(void) { auto someone = Type::Some(); } Moon<Some>(); Moon<One>();
843 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 08:11:49.12 ID:NHJ7e1s4] コムパイルエラーを見るのが楽しいの?
844 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 13:54:52.05 ID:1owlvPjk] auto は超の昔からあるのだが… 仕様変更のことなのかこのバカが言いたいのは
845 名前:デフォルトの名無しさん [2014/06/12(木) 19:43:58.13 ID:pL3eo2ak] >>843 Moonの戻り値型書き忘れたけど戻り値の型と各関数の実装書いとけばCompileは通るだろうよ。 面白いのは、static関数の代わりにConstructorが使える事。 autoの仕様が変わる以前もstatic関数の代わりにConstructorを使えたが、 戻り値の型がConstructorと違う場合は不便だった。
846 名前:デフォルトの名無しさん [2014/06/12(木) 20:00:01.48 ID:by0Erjmi] struct Hello { static ::std::string string(void) { return "Hello"; } }; template<class factory> void Print(void) { auto message = factory::string(); std::cout << message << std::endl; } Print<Hello>(); Print<std::string>();
847 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 21:10:12.35 ID:S879vZLc] >>845 無知ですまんが それがどの仕様によるものなのか 教えてもらえないだろうか
848 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:28:30.40 ID:0MXtuPFI] static int Some(void); ってコンストラクタじゃなくて関数宣言じゃね
849 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:37:15.67 ID:S879vZLc] >>848 そっちじゃなくて struct Some{}; に対して var x = Some{}; だけでなく var x = Some::Some{}; ができるらしい ということじゃ
850 名前:デフォルトの名無しさん [2014/06/12(木) 22:37:52.20 ID:cQg3VuKd] >>848 Constructorって言ってんのははSomeのデフォコン
851 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:44:08.45 ID:nzSGZ+E8] >>849 それ俺も不思議に思った。 出来ないよね?
852 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:45:19.54 ID:S879vZLc] >>851 出来ないと思ったけどVC++(CTP)で通ったのでマジかと思った
853 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 23:02:25.72 ID:0MXtuPFI] 見るとこ間違えてたか と思ったけどgcc 4.9.0でSome::Some{}が通らない
854 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 23:09:11.43 ID:S879vZLc] n3936の5.1.1p13と5.2.3あたりを読んだが それらしい記述が見つけられんかった >>845 の解説をキボンヌ
855 名前:デフォルトの名無しさん [2014/06/12(木) 23:11:57.71 ID:a0qy1iPO] VCなら行けたな
856 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 23:15:08.73 ID:CZtMYB4X] さっちんが先走りしただけじゃね?
857 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 00:58:01.15 ID:hmIHNc6x] >>849 それはできない。 3.4.3.1 [class.qual] p2 (N3936) > ... Such a constructor name shall be used only in the declarator-id of > a declaration that names a constructor or in a using-declaration. ...
858 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 04:28:38.17 ID:LbGT7je0] なら>>842 はなんでコンパイルできるんだ
859 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 04:35:34.24 ID:OKMjmph6] 規格に準拠しきってないコンパイラなんて珍しくも無いと思うが
860 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 05:23:52.19 ID:+JhvPlQc] 特にVC++とかな
861 名前:デフォルトの名無しさん [2014/06/13(金) 10:43:02.97 ID:9I0XJZWT] 他にはVC++とかね
862 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 11:04:32.57 ID:X7OhNsdX] あとVC++もだな
863 名前:デフォルトの名無しさん [2014/06/13(金) 20:11:13.22 ID:UDg2skpP] それとMicrosoft C/C++ Optimizing Compilerとかな
864 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 22:36:24.30 ID:MHajdieU] うんこgccよりはマシかな
865 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 00:02:08.88 ID:+uvAFgvW] 規格に準拠しきってるコンパイラなんて存在しないだろ…
866 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 06:48:05.07 ID:/TDJbnG0] だったら何のための規格なんだろうな
867 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 07:07:02.61 ID:oqKmDn6y] 実装の目安にして他との互換性を気持ち上げておく為?
868 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 11:24:32.20 ID:kVfPiGuj] 完全準拠してますと謳えば花丸がもらえるんだからそれなりの価値はある
869 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 15:43:57.07 ID:s0fnKBCV] 昔の言語には実際に規格の無いのがあったが その結果、方言と言う名の全く別の言語が大量に生まれた ある環境で書いたコードが他の環境で動くよう意識すれば、ある程度書ける それは規格あってこそだと思う
870 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:07:09.91 ID:CAKJ4sQG] プログラミング言語の規格ともなれば、テストスイートとしてサンプルプログラム集があって それを例えば99.5%動かせないと規格準拠を名乗れないとか決まってるもんじゃないの?
871 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:09:10.61 ID:vfNFzGu5] >>870 そんな規格は見たことがない ただ誰もマトモにフル実装できない糞言語も珍しい
872 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:23:37.71 ID:aHTZpW4+] 規格化されている言語でフル実装(?)されている言語て何があるの?
873 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:26:00.44 ID:CAKJ4sQG] >>871 FortranにはU_F95_TS、AdaにはACATSなんかのテストスイートがあるけど
874 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:41:48.49 ID:CAKJ4sQG] >>872 ttp://www.iso.org/iso/home/store/catalogue_tc/catalogue_tc_browse.htm?commid=45202 C#とかRubyとかフル実装されてそうじゃね?実装を元に規格作ったんだから AdaもACATSがあるから準拠率は高いよ、まあ改定にともないACATSがカバーしてない部分が増えてきたけど BASICやPascalあたりは規格よりもデファクトスタンダードな文法互換の処理系の方が多いと思うw Full BASICやExtended Pascalを通す処理系は少ないけど、N88BASIC風やUCSD Pascal風に書いとけば大体通るw
875 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 17:35:37.37 ID:kVfPiGuj] AdaとかFortranは軍事用で客が強い
876 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 19:23:31.39 ID:ni6zFfuh] さすがプログラム板 0か1、100%じゃないと意味が無いってやつが居るな
877 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 21:14:48.18 ID:s0fnKBCV] >>874 basicの規格はホントになあ…
878 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 22:38:11.61 ID:TjXeM4mh] エイダ ラブレスさんの母親の名前は アナ ベラ ミル バンク
879 名前:デフォルトの名無しさん [2014/06/15(日) 20:28:12.01 ID:+/6EDhQc] clangでC++14満たしてない機能ってなにがあるっけ?
880 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 03:05:02.10 ID:6StcDcqd] clang.llvm.org/cxx_status.html ググればわかる事だけに意図が判らんな どーせ本当に聞きたいことは他にあるんだろ? 素直に言ってみ あれがないよォォ〜あれが違うのォ〜あれが無きゃいやあああとかあんだろ もしくは林檎だけは嫌なのォやめテェーとかその辺か ほれほれ
881 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 03:29:42.14 ID:CewFynVt] なんだこいつ
882 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 15:29:57.12 ID:lfARp+i5] ググればわかる質問を他人に答えてもらってお礼もないとは性根が座っている。立派立派。
883 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 15:55:21.79 ID:inAhM+v5] ググれば分かる質問をわざわざ答えるとはおまえはブァフリンか?
884 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 11:06:30.77 ID:SROYhCqR] こうやっていつものようにスレは埋まっていく
885 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 11:38:20.42 ID:bWi5oQT8] C++14まだー?
886 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 16:08:27.06 ID:sAJDpU64] winさんとこ以外はもう来てるらしいよ
887 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 21:38:15.35 ID:2d3j0Gfz] ISOは殿様商売なので 出版を人並みに急ぐとか そういうことはしません
888 名前:デフォルトの名無しさん [2014/06/18(水) 22:52:04.43 ID:ZMMbatdC] 出版はめっさ早いが。ドラフトも駄々漏れだし。 仕様策定には当たり前だが時間かけているけど。
889 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 12:23:54.10 ID:XmTJejmR] 今ISOはc++14に向けてなにやってるの まだきょうぎちゅうなの?
890 名前:デフォルトの名無しさん [2014/06/19(木) 12:39:01.26 ID:EXEtiHUa] papers読め