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/
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読め