1 名前:デフォルトの名無しさん [2015/08/31(月) 18:19:04.13 ID:NE3NvROE.net] C++に関する質問やら話題やらはこちらへどうぞ。 ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part118 peace.2ch.net/test/read.cgi/tech/1435970316/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.97【環境依存OK】 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1439849418/ 次期規格C++1zはこちら C++14/C++1z 20 peace.2ch.net/test/read.cgi/tech/1410382924/ ■長いソースを貼るときはここへ。■ codepad.org/ ideone.com/
652 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 23:17:58.28 ID:H886HULU.net] shared_ptr使ったらいつのまにかuse_countが万単位になっててビビった >>635 みたいなバカは実測もしないでshared_ptrがGCより速いと勘違いしてんだろw
653 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 23:18:59.34 ID:OUPKSVtA.net] 万の共有してるお前がバカなだけ
654 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 23:27:46.40 ID:mPnf6nOs.net] やっぱスコープを超えて生きつづけるような動的メモリ確保は悪 個数に上限がない上に、ソースコードの検索で実体を特定できない分グローバル変数より性質が悪い 1スコープ1画面すなわち25行未満とするの正義
655 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 23:35:18.44 ID:LyudXVtb.net] 2015年に於いて一画面が25行の環境の>>645 は ムーブセマンティクス全否定だそうです
656 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 23:42:59.40 ID:mPnf6nOs.net] 動的メモリ確保を必要以上に有りがたがって多用する奴は グローバル変数を多用するビギナー未満の存在、 チューリングマシンあたりからやり直せ
657 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 23:56:13.74 ID:VAPx39zG.net] そりゃ実行時のデータで必要なオブジェクトの数や種類が変わらないなら必要は無いのだろうが。
658 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 00:49:17.79 ID:k73k1QZf.net] >>638 make_shared使ったら中間バッファ作成コストは無くなる その代わりweak_ptrを使った場合それが残ってる間も解放されない あと、shared_ptrのコピー速度が問題になる程コピーするか? そんな設計だと生ポインタだったら所有権の管理出来ないと思うんだが >>643 糞実装というのは置いといてもshared_ptrの速度と何の関係が? gcのある環境だと数万も参照持つ程長い間生きてるといざ解放するときstop the worldになる糞コスト高い世代のgcになるだろうけどな
659 名前:デフォルトの名無しさん [2015/09/30(水) 01:08:31.92 ID:YymjgiCr.net] GCとshared_ptrの速度を比較する馬鹿がいると聞いてきました。 しかもネタじゃなくて本気で書き込んでるらしいと聞きました。
660 名前:デフォルトの名無しさん [2015/09/30(水) 01:44:40.15 ID:wkMyE1bD.net] どっちが速いかって問題じゃないから ここが通じないやつと話しても不毛なだけだよ
661 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 07:07:44.73 ID:L4DkDpWh.net] >>630 分からん。 そもそも右辺値参照する理由は何ですの?
662 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 08:23:18.30 ID:FCo7WZBm.net] >>652 ま、もったいないお化けの呪いです。
663 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 11:52:14.07 ID:Q1Di+uY9.net] 関数の戻り値を変数に受けずに直接ゴニョゴニョするときに有益
664 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 12:49:31.47 ID:4JsedgFo.net] >>652 右辺値参照はパフォーマンス向上のために導入されたもので、参照先は、以後のスコープで使われる機会のない(デストラクトを待つだけの)一時オブジェクトと見なされる。 実際に使われる機会のないことはプログラマーが保証する
665 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 13:08:20.36 ID:vdDHGEBP.net] >>652 右辺値参照が導入された第一の理由はmoveセマンティクスを実現するため
666 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 13:16:43.24 ID:L4DkDpWh.net] 分からん。c++以外の言語で右辺値参照と言う機構は有るんでっか? もしc++固有の機構なら何でc++だけそんなもん導入する必要があるのですかい?
667 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 13:39:20.73 ID:VnaX2NHk.net] C++はスタックにオブジェクトを確保するから
668 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 13:45:19.98 ID:VnaX2NHk.net] いや、もちろんヒープに確保する事もできるんだけどGCが無いから
669 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 13:55:13.48 ID:XhnAqUEm.net] unique_ptrのmoveコンストラクタの存在とコピーコンストラクタがないことでどういう効果があるか考えれば分かると思う。
670 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 14:19:24.56 ID:7iKwfO2h.net] >>657 俺様的個人見解では コピーでなくムーブで済ませるのは本来ならコンパイラやインタプリタの最適化ルーチンのお仕事 それを言語仕様上「いいか、絶対にコピーするなよ、絶対にだぞ!」 と明記することが出来るようにしたのが右辺値参照 ムーブできなくてコピーが発生するくらいならコンパイルエラーにしてくれ 俺(プログラマ)がムーブ出来るように手順を考え直すから と言うことを&&でコンパイラさんに伝えてる 他の言語は「こまけーことはいいんだよ!」でできています。
671 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 14:28:06.26 ID:vdDHGEBP.net] >>657 C++は他の高級言語と比べて高パフォーマンスであることを特に重要としてるから プログラマの工夫で高速化できる機能が備わってる
672 名前:デフォルトの名無しさん [2015/09/30(水) 14:49:50.37 ID:R06l1h0q.net] C++以外はすべて糞言語だから右辺値参照が無い。
673 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 21:51:39.92 ID:L4DkDpWh.net] >>661 うーん、まだ分からん。
674 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 21:58:53.58 ID:lnfdPqWh.net] コピーよりスワップのほうが早い場合があるだろ
675 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 22:00:11.74 ID:VnaX2NHk.net] srad.jp/~taro-nishino/journal/507551/ これ読んで分らなかったらあきらめな
676 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 22:01:27.44 ID:k73k1QZf.net] >>664 存在する理由が解らなければ使わなければいいよ 標準ライブラリを使ってるだけで割と恩恵受けてるから
677 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 22:16:34.76 ID:L4DkDpWh.net] >>666 読んでいる途中で諦めた。明日再挑戦するわ…
678 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 22:19:44.01 ID:VnaX2NHk.net] こんなやつ・・・
679 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 22:34:51.73 ID:IxoD0KLd.net] >>666 『名前を持たないなら、それは右辺値"なのである』 その理屈で行くと*(new int)が右辺値になってしまうな
680 名前:デフォルトの名無しさん [2015/09/30(水) 23:35:15.70 ID:aEcL3JaV.net] peace.2ch.net/test/read.cgi/internet/1401535906/107 ↑ ↑ ↑ ↑ ↑ ↑
681 名前:デフォルトの名無しさん [2015/10/01(木) 00:18:26.56 ID:MrcZAfOx.net] メンバ変数とメンバ関数の定義ってどういう順序で書くのが一般的なの? 【VC++方式】 publicメンバ関数 privateメンバ関数 publicメンバ変数 privateメンバ変数 【Google方式】 publicメンバ関数 publicメンバ変数 privateメンバ関数 privateメンバ変数 貴様らはどっちを使ってるの?
682 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:23:26.58 ID:W6dzHXP5.net] 全部パブリックだし無駄なアクセサとか作らない性質なんで関係無いですね
683 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:26:52.37 ID:yE0+l/d1.net] 統一されてりゃいい
684 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:28:09.19 ID:0eXwX1cj.net] 変数は全部上に持ってってる。 何で下に配置しようとするのか理解できない。
685 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:34:01.87 ID:e+Nqpsc9.net] クラスを利用するときは変数なんて見ないだろう
686 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:43:09.13 ID:j4gRyYlh.net] 変数が上だな つーかデフォルトprivateなのだから そこから書くのが自然な気がする。
687 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:43:40.25 ID:P62utjXs.net] 何で上に持っていくのか理解できない
688 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:46:42.51 ID:KtuKSkrc.net] ヘッダファイルが誰のためにあるのか考えろや
689 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 00:47:30.33 ID:W6dzHXP5.net] これはね、 内部仕様を大事にする東洋哲学と 外部仕様を大事にする西洋哲学の 違いですね
690 名前:デフォルトの名無しさん [2015/10/01(木) 01:06:55.36 ID:W4wdkuI5.net] >>635 >>640 の話をよくよく聞いてみたところ、彼ら、ソートを再帰で作ってたらしいです。 引数としてstd::shared_ptrを渡していたのでコピーコストが凄いことになっていたようです。 ソースを戴いたのでループに修正してあげたところ、かなり驚いた様子で改心していました。
691 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 01:17:32.02 ID:aA9UfTOs.net] >>681 shared_ptrを引数として渡すならconst参照でいい
692 名前:デフォルトの名無しさん [2015/10/01(木) 02:12:38.73 ID:W4wdkuI5.net] >>682 >>635 の人ですか。 また何か疑問がわきましたか?
693 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 02:32:50.77 ID:aA9UfTOs.net] >>683 ちげえよ 引数でshared_ptrを渡すならコピー渡しじゃなくて const std::shared_ptr<T>& p にしろ その関数内で所有権が欲しいならその時にコピーしろ
694 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 02:52:40.21 ID:aA9UfTOs.net] 何でソートをオレオレ実装してんだstd::sort使えよとか他にも突っ込み所あるけどね
695 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 08:01:51.69 ID:ZyUEx0el.net] つーかキチンと所有権管理の意識をしていたら、わざわざsharedを使う場面が殆ど無いことに気づくはず。
696 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 09:58:06.89 ID:LB18ex5+.net] std::sortはpredを値渡しだが、少し複雑なpredのメンバにshared_ptrを持たせたことがあった。それが正しい判断だったのか余計な心配だったのか不明。
697 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 15:43:10.33 ID:mZxAmtu3.net] faithandbrave.hateblo.jp/entry/20121116/1353047948 boost::threadのスタックサイズはthread::attributes::set_stack_sizeで設定できるようですが std::threadではどのようにして設定するのでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 16:41:46.71 ID:lsGbndod.net] You can't.
699 名前:デフォルトの名無しさん [2015/10/01(木) 19:19:35.56 ID:BUCLrkun.net] Oh,no.
700 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 20:12:32.90 ID:LB/4icN7.net] C++のクラスとか実は構造体なのだからデータ1stに決まってるだろ; メンバ関数から書く奴は頭おかしい(もしくはclassとstructの明示的使い分けを説明できねばならない まあ一応概念上は「手続きに与えるデータ」の側面(手続きがメイン)を強調したいときがstructで それ以外はclassではある
701 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 21:11:20.09 ID:P62utjXs.net] >>691 関係ない
702 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 21:21:12.13 ID:WeiZCb/T.net] >>691 >もしくはclassとstructの明示的使い分けを説明できねばならない 互換性以外でstruct意味あるの? 自分のコードでは使おうと思ったことない
703 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 21:31:33.68 ID:QENZiec8.net] 使い分けなんか決まりが有るわけでもないし適当でいい。 それより「クラスとか実は構造体」なんてアホなこと言ってる奴は 早く病院行った方がいい
704 名前:デフォルトの名無しさん [2015/10/01(木) 21:35:17.70 ID:BUCLrkun.net] 構造体をクラスで特殊化しようとしたら出来なかったから同じではないみたい
705 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 21:39:07.38 ID:BshYJ+by.net] TMPにはまってた頃はstructばっかりだったな。 データを持つなんてことは滅多にないし。
706 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 21:41:20.18 ID:QENZiec8.net] 「構造体」などという定義の不明な用語を用いる奴は アビバに行ってエクセルでも勉強してた方がいい
707 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 21:55:36.66 ID:LB/4icN7.net] >>692-695 structの実体は全メンバがデフォルトでpublicなだけのclassにすぎないと ストラストロウpップ本のどっかに書いてあった 一方クラス名と構造体名は同ではないが理由は知らん
708 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:03:04.84 ID:QENZiec8.net] 「全メンバがデフォルトでpublicなだけのclassにすぎない」 そんな嘘つき本は 早く窓から投げ捨てた方がいい
709 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:21:18.99 ID:BshYJ+by.net] 親クラスがデフォルトでpublic あとは何だっけ?
710 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:23:51.58 ID:+UnsXPfG.net] classから/への継承ができない POD型になれる(Cと共用することができる)
711 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:32:16.11 ID:CWBNpZAW.net] classもPODになれるぞ
712 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:32:25.91 ID:LB/4icN7.net] classにできてstructにできないこと(あるいはその反対)とは? 2011年の規格になるがn3337.pdfならタダでダウソできるので classとstructの違いがどこに書いてあるか指摘してくれると嬉しい
713 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:35:10.94 ID:QENZiec8.net] 三つ前のレスも読めない奴は 早く眼科に行った方がいい
714 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:40:03.08 ID:LB/4icN7.net] >POD型になれる(Cと共用することができる) classもPOD型になれる n3337.pdfのChapter 9より >A POD struct109 is a non-union class that is both a trivial class and a standard-layout class, and has no >non-static data members of type non-POD struct, non-POD union (or array of such types). で、 >A standard-layout struct is a standard-layout class defined with the class-key struct or the class-key class. なのである classがCと共用できないのはそれはその通りだがC++内の話題か?
715 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:40:18.43 ID:o05Ai7EN.net] >>686 unique_ptrは逆に、所有権のない生ポの代替にはならないところがなぁ。 前に誰かが言っていたけど、コピー不可の「ほぼuniqueな」shared_ptrがあったらよさそうなのにな。 ・基本、コピー不可 ・使いまわす場合はweak_ptr(相当のもの)で ・それをlock()して得られるのも「ほぼuniqueなshared_ptr」 ・それをローカルスコープの外に持ち出すには明確な記述が必要なんで 非ユニークな期間の管理は容易 自分でも作れるかもしれないけど、なんか落とし穴があったりするかな?
716 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 22:41:52.40 ID:LB/4icN7.net] >>704 で、classにできてstructにできないこと(あるいはその反対)とは?
717 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 23:12:05.84 ID:P62utjXs.net] >>699 どこが嘘つきなの?
718 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 23:41:36.26 ID:YVTNhxF0.net] >>706 それweak_ptr経由したら無限にコピー作れるよね
719 名前:デフォルトの名無しさん mailto:sage [2015/10/01(木) 23:46:09.70 ID:BshYJ+by.net] クラスのメンバとして「所有権は持ってるけどコピーは可能としたい。だけど
720 名前:自分でnew deleteを書きたくない。」 っていう一番素朴ともいえる需要にはunique_ptrもshare_ptrも答えてくれないんだよね。 要素1個のvectorを持てば目的には合うけど、それはちょっと。 [] [ここ壊れてます]
721 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 00:09:17.73 ID:Ty2xSLut.net] 所有権の無いナマポはナマポでいいんじゃ。 getして作る物じゃないの?
722 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 00:12:30.94 ID:E6p9V3H1.net] >>709 意図的にそうすることはできるけど、このポインタ使う人にとっては意図せずにそうなることを 防げれば十分でしょ、って理屈。
723 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 01:37:40.67 ID:qg2lMJZH.net] 使い道が良くわからない unique_ptrでgetで良いじゃんって思う
724 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 01:42:57.88 ID:UOnaTtLl.net] >>706 が言ってるのは「基本的にはいつ勝手に解放されてもいいけどlock中に解放されるのだけはやめてほしいweak_ptr」じゃないかな
725 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 01:53:10.11 ID:UOnaTtLl.net] あるいは「必要なときだけ一時的に強参照に変えられるweak_ptr」か
726 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 02:04:44.52 ID:t/H9126e.net] >>715 それただのshared_ptr
727 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 02:12:07.99 ID:UOnaTtLl.net] >>716 そだね 今リファレンス読み直してみたけど、普通にshared_ptrとweak_ptrでいいじゃんと思ってしまった >>712 の言い分もわからなくはないけど、ちょっと動機としては弱いよね
728 名前:デフォルトの名無しさん [2015/10/02(金) 03:28:41.26 ID:ONuETOP6.net] weak_ptrをスレッド跨ぎに使うととても便利だぞ。 スレッドAからスレッドBに作業を依頼するとき、スレッドA内でコールバックする オブジェクトをweak_ptrに入れてスレッドBに渡す。 スレッドBは結果を返す時、weak_ptrを一緒に返す。 スレッドAは結果が返されたとき、weak_ptrが生きているかどうかで処理を継続するか 破棄するか決定する。
729 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 04:11:04.12 ID:mB2ii6Jd.net] >>718 C++ でおk
730 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 05:15:26.18 ID:XsCDb17v.net] おれは生ぽ派
731 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 06:56:56.47 ID:K61YkWCE.net] ちゃんと後処理できるならなんでもいいのではないかな
732 名前:デフォルトの名無しさん [2015/10/02(金) 07:00:41.57 ID:BtQI5LIk.net] unique_ptrを使うべき典型的な例くだちゃい
733 名前:デフォルトの名無しさん [2015/10/02(金) 07:01:11.19 ID:BtQI5LIk.net] shared_ptrの間違いでちゅ
734 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 08:06:56.11 ID:ZDJdmWRt.net] >>723 >>687
735 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 08:13:15.20 ID:t/H9126e.net] >>723 CopyOnWriteを実装する時とか
736 名前:デフォルトの名無しさん [2015/10/02(金) 18:07:26.95 ID:7Yht83rO.net] C++ って実際どういうところで使われてるん?
737 名前:デフォルトの名無しさん [2015/10/02(金) 18:12:29.97 ID:TpeMyO1f.net] 基本的なソフト、ライブラリの多くはC++製だろ。 スクリプト言語とかもC++製が多くてC++なしでは実装できないのが多い。
738 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 18:41:39.93 ID:8WzixXxl.net] webブラウザ
739 名前:デフォルトの名無しさん [2015/10/02(金) 19:07:51.07 ID:AwBeWBui.net] Haskellで書きなおせば省メモリーかつ10倍高速になるという人もいるね。
740 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 19:16:46.43 ID:8WzixXxl.net] >>729 やってから言えって話だな
741 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 19:47:03.73 ID:0lgmsqw8.net] Haskellが省メモリだと…?
742 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 22:01:36.63 ID:PixdrOkR.net] コードサイズが省メモリという意味では。 「関数型ならこんなにシンプルにかける!」って宣伝よく見るし。 ってか仕方ないことだけどC++がコードサイズ大きい
743 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 22:50:51.68 ID:oFtaSIUa.net] >>726 3Dのゲーム開発はみんなC++だよ C++じゃないと重すぎてまともに動かん
744 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 22:57:22.05 ID:w2Lswr2g.net] >任天堂のゲームはこれまで,CやC++といったプログラミング言語で開発されており, >そのため高いパフォーマンスを発揮していたが,反面,開発に時間がかかっていたという。 >このセッションではそれ以外の方法,つまりHTMLやJavaScriptを使ってWii Uの全機能にアクセスしつつ, >より手軽にゲーム開発を行う方法が説明されるようだ。
745 名前:デフォルトの名無しさん [2015/10/02(金) 23:00:04.35 ID:TpeMyO1f.net] それはないかと。ウェブブラウザで3Dしたり、3Dエンジン・ライブラリを呼ぶ形だと言語速度差少なかったり。
746 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 23:36:20.41 ID:dTb/cHoI.net] C++使う目的がスピードなのは今も変わらないと思うが、RustやGoがいくら早くなろうが、C++は使われ続けると思う。 最適化にこだわろうと思った場合C++以外の言語では話にならない。
747 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 23:39:28.76 ID:07KUSVzt.net] C++は柔軟性が抜群
748 名前:デフォルトの名無しさん [2015/10/03(土) 00:29:39.75 ID:mC8UjI5p.net] Haskellが一番速いといわれてるけどな。
749 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 00:37:13.63 ID:TzdXrt85.net] >>738 Haskellが一番速いという言葉に強い魅力を感じるのですが、数値演算では、C++やFortranと 較べてどれくらい速いでしょうか。 そもそもHaskellには、数値計算用の函数(三角関数、対数、指数などの初等函数)は インプリメントされているでしょうか。そしてその有効桁数はどれくらいでしょうか。 少なくとも12桁できれば、16桁以上欲しいのですが。
750 名前:デフォルトの名無しさん [2015/10/03(土) 01:40:39.95 ID:F9VAPS7W.net] Haskellはやめとけ。理想的なコンパイラが実現したらとかいう想定なんだろ? 現実では未実装で。 純粋関数型言語とそのコンパイラが完成されれば速いんだろうが。
751 名前:デフォルトの名無しさん mailto:sage [2015/10/03(土) 01:48:15.69 ID:OaBps6Fz.net] そんなに早いならHaskellの動画エンコーダーがあっていいはず
752 名前:デフォルトの名無しさん [2015/10/03(土) 01:48:36.78 ID:F9VAPS7W.net] Haskell 自動並列化でググッた結果。 マルチコアでスケールするようになった Haskell2015年2月12日 Glasgow Haskell Compiler(GHC)は、関数型言語Haskellの主要コンパイラです。 GHCは(並列性に加えて)並行性を主要な目的として長年開発されてきました。 www.iij.ad.jp/company/development/tech/activities/haskell/ マルチコア時代の最新並列並行技術〜 Haskellから見える世界 〜 [PDF ... www.iij.ad.jp/company/development/tech/techweek/pdf/141126_2.pdf Concurrent HaskellおよびParallel Haskell www.kotha.net/ghcguide_ja/7.0.4/lang-parallel.html 【Async】Haskellによる並列・並行プログラミングを読了した (2)【Concurrent】 | FiS Project www.fisproject.jp/2015/08/parallel-and-concurrent-programming-in-haskell-2/ 未来の並列プログラ ミング言語としての Haskell ll.jus.or.jp/2008/slides/6/shelarcy.pdf