- 1 名前:デフォルトの名無しさん mailto:sage [2012/10/04(木) 22:13:37.79 ]
- The C++ Standards Committee
www.open-std.org/jtc1/sc22/wg21/ Wikipedia ja.wikipedia.org/wiki/C%2B%2B11 C++11/C++1y 15 toro.2ch.net/test/read.cgi/tech/1333433900/
- 83 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 20:19:23.87 ]
- まあ混在させるよりはどっちかで統一させた方がいいと思う
- 84 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 20:23:14.10 ]
- >>83
となるとすでに使われてるboostなんだよなぁ
- 85 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 20:38:01.39 ]
- 完全新規案件ならstd::shared_ptrで
ただし、C++11が普及してからな
- 86 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 22:57:26.18 ]
- >>85
現在は普及しているのか?
- 87 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 22:59:21.70 ]
- してないな
少なくともVSが対応してからだな
- 88 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 00:38:12.18 ]
- >>87
だとすると、「完全新規案件なら」というくだりは、まったく無意味な話か
- 89 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 00:54:08.17 ]
- 完全新規案件で、かつ、C++11が普及していたら、という条件文だろ
どこが無意味なんだ
- 90 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 01:03:48.95 ]
- >>89
現時点では「C++11が普及していたら」が偽なので、少なくとも現時点では他に何が書かれていても無駄になる。
- 91 名前:デフォルトの名無しさん [2012/10/17(水) 01:05:21.91 ]
- >>85
何をもって普及したとみなせるのか書いてないから 他人からすれば何も言ってないに等しいな 当人の脳内では自明なんだろうけど
- 92 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 01:17:01.29 ]
- >>90
>現時点では「C++11が普及していたら」が偽 Linux界隈ではVC気にしなくていいから、局所的な見方ができるなら偽と言い切れるものではないな 実際にはC++11でかつLinux案件とかを想定してるんじゃね もちろん、何を以て普及したと見做すのかは>>89に聞かないと分からんけどな (そしてその答えによっては>>89の文章全体が無意味になる)
- 93 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 01:48:48.77 ]
- してからな、って言ってるように、
今はまだ厳しいというイメージで言った
- 94 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 02:03:08.23 ]
- イメージとかそういうのはどうでもいい
- 95 名前:デフォルトの名無しさん [2012/10/17(水) 02:06:51.96 ]
- 脳内自明なイメージを
表現することなく 十分に書けたつもりに
- 96 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 09:11:38.32 ]
- Macで使えれば十分だよ
今後Mac以外は廃れるから考慮しなくてよい
- 97 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 18:42:30.11 ]
- おう
- 98 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 21:42:49.10 ]
- Macはもうない
- 99 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 22:19:33.35 ]
- 今C++11やるならMacかLinux
普通はMacを使う
- 100 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 22:38:27.59 ]
- Mac以外のマシンは滅ぼせ!
- 101 名前:デフォルトの名無しさん mailto:sage [2012/10/17(水) 22:42:57.11 ]
- Xcodeで使えるのん?
- 102 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 07:58:16.13 ]
- MacPortsが更新遅すぎて(最新から1年遅れとかザラ)使う気にならない。
更新されてもGCCとかソースからコンパイルしよるから、その間なにすればいいの状態w
- 103 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 08:00:54.28 ]
- Fortran77が死なない理由は優秀なライブラリだよね・・・
C++03でそんな事情はないから多分そのうち死んでくれると思う。 それよりCが死んでくれないことが大問題だよ。
- 104 名前:デフォルトの名無しさん [2012/10/18(木) 08:03:03.84 ]
- 連投スマソ。
C++11で導入された標準ライブラリの速度が出ないんだけど、 そのうち改善されていく見込みはあるんだろうか? 現時点のGCCは成熟度何%くらいだと思ってたらいいか分かる人いる?
- 105 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 08:10:19.67 ]
- Cが死ぬ前にC++が死ぬよ
- 106 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 08:13:33.58 ]
- まぁそんな気がする。
しかしここ数年、言語界のアイディアも枯渇しててC++11でしばらくは行けそうな感じだよな。 すくなくとも逐次計算にかぎれば。 並列計算に特化した言語モデル(でまともなの)が出てくれば死ぬかも。
- 107 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 08:29:09.46 ]
- >>104
11は速度をあきらめて扱いの楽さを優先したから速度でないのは当たり前だよ 今はどうしても速さがほしいならいままでどおりC/C++03を 楽さを求めるならほかの言語をって感じ
- 108 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 10:39:22.72 ]
- >>107
なるほど。 では今後に期待〜
- 109 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 15:48:17.03 ]
- >>107
え?
- 110 名前:デフォルトの名無しさん [2012/10/18(木) 15:52:08.60 ]
- >>107
規格の影響を受ける問題じゃあるまいし
- 111 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 15:56:17.41 ]
- >>110
なにいってんの?
- 112 名前:デフォルトの名無しさん [2012/10/18(木) 16:00:31.15 ]
- C++11にしたら速度が出ないという妄想の話?
- 113 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 16:19:35.62 ]
- STLは右辺値参照を使って大幅に書き直されているから速度が上がってるだろ
スピードが出ないのはiostreamとかfstreamの話だろ? あれほどstd::ios::sync_with_stdio(false); を実行しとけと言ってるのに それかcstdioだけを使うか
- 114 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 16:31:59.01 ]
- ワロタ
もともと最適化あるから右辺値参照ぐらいじゃ大して変わらんよ それよりshared_ptrやスレッドがバカに乱用されてパフォーマンス悪くバグが増えることが問題
- 115 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 16:35:42.19 ]
- >>114
blogs.msdn.com/b/vcblog/archive/2009/06/23/stl-performance.aspx よく調べてから物を言えよ 恥かくだけだぞ
- 116 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 16:36:32.38 ]
- あとこんなのもあるなあ
cpp-next.com/archive/2010/10/howards-stl-move-semantics-benchmark/ こちらは無名のブログなので自分で検証してみ
- 117 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 21:40:43.97 ]
- 結局参照もポインタと同じ道を辿ったな
わかりにくく使いづらく扱いを誤れば危険だしパフォーマンスも落とすクソ機能 その分色んなことが出来るからいいんだいという反論があるだろが、 参照はポインタほどの融通も効かないから中途半端
- 118 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 22:14:12.43 ]
- STLで右辺値参照使ってると言っても
ムーブが定義されてなきゃ今まで通りなんでしょ? 遅くなるってどういう事だよ
- 119 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 22:22:17.57 ]
- 一応、(リンク時にdead code eliminationしなきゃ)
関数の数が増える=実行ファイルサイズが増える=コードがキャッシュに乗る率が減る=遅くなる かもしれない
- 120 名前:デフォルトの名無しさん mailto:sage [2012/10/18(木) 22:28:39.64 ]
- dead code elimination も何も
クラステンプレートは使わないメンバ関数は 実体化しないという仕様だから
- 121 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 10:56:10.40 ]
- >>117
使い方を誤る奴が悪い終了
- 122 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:03:48.49 ]
- ラムダってテンプレート引数使えないんのか
struct Func { template <typename T> void operator () (T const & obj) { } }; みたいに、ラムダで template <typename T> [](T && obj) { func(forward<T>(obj)); } 書ければいいのにね つかどうせならC#みたいに省略できればよかったのに
- 123 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:12:23.15 ]
- 関数内どんだけ肥大化させる気?
- 124 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:21:14.01 ]
- 関数内でテンプレートってそもそも必要?
- 125 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:28:30.12 ]
- 引数の型書くのが面倒なんよ
そう思わないか? ラムダがあればファンクタ書くのは楽になるが中途半端だ どうせならとことん楽したいやん
- 126 名前:デフォルトの名無しさん mailto:sage [2012/10/19(金) 21:36:48.84 ]
- template <typename T> と書く手間で
typedef decltype(a) T; が書ける
- 127 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 00:21:49.05 ]
- C++1yで多相ラムダが使えるようになるまでの我慢我慢
- 128 名前:デフォルトの名無しさん [2012/10/20(土) 10:24:25.79 ]
- >>127
2年くらい前にこのスレで[](auto&){...}使えるといいねって話をしたら バカにされてあえなく撤退したわw
- 129 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 12:56:01.55 ]
- >128
型が記述位置で一意にならないんじゃね?テンプレートなきゃムリだろ。
- 130 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 13:14:06.10 ]
- 別にそれでいいじゃん
- 131 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 13:24:30.56 ]
- >>129
2年前にまったく同じ事を言われた。 コンパイラ作ってる人からすればそうだろうけど、利用者からすればまったく自然な発想。 テンプレートでいいから何とかしてくれ。 sort(v.begin(),v.end(),[](const super_complicated_template_container_type::super_long_named_value_type& x){return x+1;}); とか、アホくさくて耐えられないw
- 132 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 13:26:02.36 ]
- 適当に書いたけどsort用のラムダじゃなかったな。
比較関数になるとさらに醜いことになる。
- 133 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 13:46:15.50 ]
- decltype((x)) const &
まあoperator()がテンプレートなファンクタはもとからできるので実装上の問題はなく構文をどうするかだろう 一般の関数にまで拡張して void f(auto x) を template<class T> void f(T x) のシンタックスシュガーにするかとかにまで広がるだろうし
- 134 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 13:54:41.97 ]
- ん、xじゃないな
- 135 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 14:46:05.38 ]
- www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3418.pdf
>>131の例なら sort(v.begin(),v.end(),[](const &x) x+1); にしようぜってのが今の提案
- 136 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 17:44:51.28 ]
- >>135
いいね! 搭載までにどれくらいかかるのか分かりませんが期待してます。
- 137 名前:デフォルトの名無しさん mailto:sage [2012/10/21(日) 22:37:41.22 ]
- というか一番最初のラムダのペーパーはすげえ短く書けてwktkだったんだがな... まだ[]が<>だったころ
だまされたー!
- 138 名前:デフォルトの名無しさん mailto:sage [2012/10/21(日) 23:16:30.59 ]
- C#と同じ書式にしてしまうのはダメなんかなぁ
…ユーザーオブジェクトの扱いが違うからダメか… sort(v.begin(), v.end(), x => x+1);
- 139 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 09:15:20.10 ]
- 今C++11何か使ったら理解できないやつが続出して全てが自分に回ってきそうで、取り敢えずようす見ることにしてるわ。
- 140 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 09:35:02.93 ]
- cpp3よりわかりやすいと思うけど?
一回教えれば今より面倒も減ると思う
- 141 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 10:33:23.26 ]
- 他にもっといいラムダ式の書式があったのかもしれないが、C++11標準化委員会が
新しいアイデアを待ったけど誰も出してこないのでこういう変な格好に落ち着いたらしい まあタイプ量が少なくて直感的だからいいんじゃね
- 142 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 10:36:57.12 ]
- 仮想プロパティはいつになったら使えるようになるねん
- 143 名前:デフォルトの名無しさん [2012/10/23(火) 22:16:53.45 ]
- >>139
会社で使う人はそういう悩みもあるのか・・・ 11を03のソースに変換するツールとかあれば自分だけ使えてウハウハになれるでしょうか?
- 144 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 22:39:57.88 ]
- マ板行けよ。
- 145 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 23:02:22.30 ]
- C++11難しくないだろ
C++03の方がよほど面倒だぞ
- 146 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 23:17:54.28 ]
- C++03より簡単に書ける、のは確かだけれど、
C++11はC++03互換の形式でも書けるようになってるので、結果的に複雑。 難しくない、というのは言い過ぎ
- 147 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 23:40:40.96 ]
- 11で切り捨てられる機能って何かある?
たとえば副作用のあるラムダは外部に変数定義しないといけないから、 カプセル化を破ってしまう。カプセル化するためには関数オブジェクトが必要。 完全にdeprecateされた言語機能ってそれほどないのでは? アルゴリズム、コンテナ、どちらも増えただけだし・・・。
- 148 名前:デフォルトの名無しさん mailto:sage [2012/10/23(火) 23:50:54.98 ]
- 完全に削除されたexportがあるだろ
- 149 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 00:37:49.63 ]
- 折角 export を実装した Comeau C++ が可哀想です
- 150 名前:デフォルトの名無しさん mailto:sage [2012/10/24(水) 01:16:07.92 ]
- export実装する前にtemplateのネストを実装すればよかったw > Comeau
- 151 名前:デフォルトの名無しさん [2012/11/02(金) 20:39:03.23 ]
- やっぱり、これからは並列処理が簡単にできる言語の時代かも
- 152 名前:デフォルトの名無しさん mailto:sage [2012/11/02(金) 22:24:19.84 ]
- 提案にいくつか並列化関係のあるよな
TR2に入ったらうれしい
|

|