- 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/
- 2 名前:デフォルトの名無しさん [2012/10/04(木) 23:22:19.44 ]
- 君が死んでからもう1年。
君は今も僕を見守ってくれているのかな? 君は、僕の生まれて初めて出来た彼女だった。 すごく嬉しくて、幸せだったなあ。 突然、白血病だって医者に宣告されてから、君は病室で日に日に弱っていった。 「病院ってひまねえ」って笑う君を見て、僕はいつも泣いていたんだ。 君の為に、僕の小汚いノートパソコンをあげたら、君はすごく喜んでくれたよね。 ネットをするようになった君がいつも見ていたサイト、それが「2チャンネル」だった。 ある日君はいつものように、笑いながら言った。 「ほら、見て今日も2ゲット出来たよ。」 「あまりパソコンばっかいじってると身体に障るよ」 なんて僕が注意すると、「ごめんねえ。 でもね、これ見てよ。 ほら、この3のひと、2げっとぉ!なんて言っちゃってさぁ、ふふ」 僕は黙っていた。君がすごく楽しそうで、僕は何も言えなかった。 「ほらみて、この3のひと、変な絵文字使ってくやしぃ〜!だって。かわいいねえ。 ふふ。」 僕はまだ黙っていた。笑う君を見て、どうしようもなく悲しくなった。 「憶えててくれるかなあ」 君がふと言った。 「…この3のひと、私がいなくなっても、あの時変な奴に2をとられたんだよなーなんて、憶えててくれないかなあ……無理かな……憶えてて、ほしいなぁ……」 それから数ヶ月後、君は家族と僕に見守れながら息を引き取った。 君はもうこの世に居ない、なのに僕は今F5を連続でクリックしている。 君の事を、3のひとが忘れないように、いつまでも、いつまでも忘れないように。 天国にいる君と一緒に、今ここに刻み込む 2 ゲ ッ ト
- 3 名前:デフォルトの名無しさん mailto:sage [2012/10/04(木) 23:28:49.73 ]
- >>1
乙
- 4 名前:デフォルトの名無しさん [2012/10/05(金) 00:04:02.16 ]
- 前スレ最後の盛り上がりはどこへ?
- 5 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 00:08:18.31 ]
- スレをまたいで引っ張るようなネタか?
- 6 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 00:09:26.94 ]
- C++はオナニー言語。
業務アプリケーション開発には危険過ぎて使えず。 組み込みではCで充分という奴に迫害され、 難解な言語仕様勉強してる俺SUGEEEな 人たちが自分のプライドを保つための 最後の砦。
- 7 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 00:10:04.31 ]
- 組み込みでもわりと使われてるけど
- 8 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 00:30:04.10 ]
- >>6の言う組み込みは土方系だろう。
- 9 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 00:49:29.29 ]
- 難解な言語ではあるが、概念的に高度というわけではなく
ただ単にこんがらがっているだけ
- 10 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 00:52:59.34 ]
- プログラム言語Pastaに改名しよう
- 11 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 00:59:39.15 ]
- >>6
C++出来なくても仕事はあるから心配ないよ
- 12 名前:デフォルトの名無しさん [2012/10/05(金) 01:42:50.82 ]
- 言語仕様よりも、実行環境のほうが何故か重宝される。
VCも.NETがあるけど、.NETじゃコンパイルを実行時に後回しにした…という感じにしか思えない。
- 13 名前:行動派は連絡を mailto:kuymaugaiya@kobej.zzn.com [2012/10/05(金) 05:55:57.17 ]
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
マスコミも政党も大企業もネットも、日本は既に乗っ取られて操作されている。 B層よ、目を覚ませ。現在の日本は支配されている。 【疑う前に以下を見よ】 子供に教えられるかどうかで子供と日本の将来は大きく変わる。 騙されたと思って一度だけ、真摯に受け止めてみてよ。 s.webry.info/sp/stktakemoto4216.at.webry.info/201201/article_10.html ★本題 s.webry.info/sp/stktakemoto4216.at.webry.info/201201/article_11.html 政党 s.webry.info/sp/stktakemoto4216.at.webry.info/201201/article_9.html マスコミ s.webry.info/sp/stktakemoto4216.at.webry.info/201201/article_60.html 1995 kenjyanoturugi.seesaa.net/article/148207356.html 乗っ取られる日本 archive.mag2.com/0000154606/20081014060012000.html 政治経済の真実 oujyujyu.blog114.fc2.com/blog-entry-328.html 日本企業乗っ取り www36.atwiki.jp/anti-rothschild/pages/15.html 戦後の金融資本の歴史 koramu2.blog59.fc2.com/blog-entry-812.html ユダヤと反日朝鮮勢力 それでも何とか日本を守ろうと日々尽力を注ぐ日本勢力が現存する。 その勢力の反対勢力である左翼が「利権」と「原発」を徹底的に叩いている理由を解読せよ。 敵はマスゴミでも政党でも他国でもなく、背後で操る反日マイノリティー勢力だと意識せよ。 反日マイノリティー勢力の短期的目標は領土ではなく、人権委員会設置と外国人参政権。 そして大デキレースが遂にはじまった。B層向け茶番劇放送である地上波は絶対に見るな。 スカパー!HD(JCSAT-3A,4A)の衛星専門局か、できればアルジャジーラ(AsiaSat-3S)を見よ。 今の日本の世の中はまさに映画マトリックスの世界。 B層よ、今こそ目覚める時。 そして今後は各々で独立して情報分析して行動せよ。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ※ この書き込みに対して【日本語がおかしな者】の妨害が入る様になりました。事実であるが故に反証できない上記内容が都合悪い様です。上記内容は特定の論者によるものではありません、念のため。
- 14 名前:デフォルトの名無しさん [2012/10/06(土) 15:55:00.40 ]
- 最近11の検討を始めたんだが、すごいな…
ラムダは待望だったから嬉しいけどけど、右辺値参照(だっけ?)にはワロタ 確かに使いどころによっては便利かもなとは思ったけど、マニアックすぎる 総じて、痒いところに手が届くのは嬉しいが、これから始める人には辛いかもな ますますオッサン言語化してる気がするよ
- 15 名前:デフォルトの名無しさん mailto:sage [2012/10/06(土) 16:00:03.88 ]
- というか今まで無かったのがなぞだよな右辺値参照って
- 16 名前:デフォルトの名無しさん mailto:sage [2012/10/06(土) 22:36:06.33 ]
- 代入や引数渡しの所で記述できるように言語でサポートするのは面白いよね。
高レベルのレイヤーでの利用ノウハウが溜まったら、 他の言語でも類似の機能がサポートされたりして。
- 17 名前:デフォルトの名無しさん mailto:sage [2012/10/06(土) 22:42:30.12 ]
- っていうか右辺値参照みたいなのが必要になるのはオブジェクトが変数に埋めこまれるからで
オブジェクトといえばすべて参照経由な主流OOPLでは要らん機能だしなあ 埋めこみオブジェクトなOOPLって、C++以外だと何があるんだ
- 18 名前:デフォルトの名無しさん mailto:sage [2012/10/07(日) 22:53:38.20 ]
- pre-Portland mailing 見るとまだまだお偉いさん方はC++いじる気満々だなw
新機能実験場というか論文のネタ場というか ちっとは現場でメンテするプログラマのことも考えてほしいぜ
- 19 名前:デフォルトの名無しさん mailto:sage [2012/10/08(月) 00:17:40.80 ]
- conceptが今後採用されることになれば
どうせ大規模な変更になるんだから 小手先のことなんてどうでもいいよ。
- 20 名前:デフォルトの名無しさん mailto:sage [2012/10/08(月) 12:15:57.72 ]
- boostは完成しないからこそboostであり続ける
- 21 名前:デフォルトの名無しさん mailto:sage [2012/10/08(月) 15:56:59.45 ]
- >>17
右辺値参照をメモリ管理だけの問題に矮小化しないでください!(怒 束縛と代入の動的な側面をプログラミング可能にし、 新しい意味や文脈を与える野心的な試みなんです。 問題は野心的過ぎることだけです。 全てのプログラミング要素は、最終的には右辺値参照に集約されるんですYO.
- 22 名前:デフォルトの名無しさん mailto:sage [2012/10/08(月) 18:53:17.55 ]
- pre-Portlandにコンセプト関係の論文1つもないんだけど
- 23 名前:デフォルトの名無しさん mailto:sage [2012/10/08(月) 19:18:50.67 ]
- pre-Kona で新しいのが提案されてる >concept
そのままC++Nowのキーノート・スピーチで解説されてた。
- 24 名前:デフォルトの名無しさん mailto:sage [2012/10/09(火) 16:04:53.53 ]
- G++ now supports a -std=c++1y option for experimentation
with features proposed for the next revision of the standard, expected around 2017.
- 25 名前:デフォルトの名無しさん [2012/10/12(金) 20:47:32.93 ]
- 右辺値参照、いくら話を聞いても使いドコロが分からない。
でかいコンテナの単なるコピーとかしないし・・・ 英語でもいいから、何かよいリファレンスを教えてください。
- 26 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 20:55:33.43 ]
- 使いどころっつったら std::vector<std::unique_ptr<T>> だろ常考
- 27 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 20:57:10.83 ]
- つ ja.m.wikipedia.org/wiki/C%2B%2B11
- 28 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/10/12(金) 21:00:56.17 ]
- slashdot.jp/journal/507551/C%2B%2B%E5%8F%B3%E8%BE%BA%E5%80%A4%E5%8F%82%E7%85%A7%E8%A7%A3%E8%AA%AC
- 29 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 21:49:50.28 ]
- 使い所を考えるような物じゃなくて
不必要なコピーを出来るだけ無くしたるわってもんだからな
- 30 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 21:56:44.10 ]
- ムーブのメリットは様々な処理をノースローにできる事
- 31 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 21:58:25.51 ]
- 右辺値参照はそれだけの話じゃないよ
今まで非共有スマポをコンテナに入れられなかったのは コピーが不必要ではなく害悪だったから 害悪なコピーを回避するためにも右辺値参照は重要
- 32 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 22:05:20.58 ]
- >>31
って >>26 のことだよね? これは分かりやすいけど使わんのだよ。 たとえば container<T> func() { container<T> res; ... return res; } みたいな関数をよく書くのですが、 最後の行を return std::move(res); にすれば使ってることになる?
- 33 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 22:11:51.49 ]
- 書かなくてもそうなる
- 34 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 22:14:01.94 ]
- >>33
なるほど。 でもそれ以外のタイミングでコピーすることはないんだよなぁ。 自分のコーディングスタイルの問題なのかな? ・・・ちょっとスラドの記事よみ直してみます。 以前読んだけどありがたみがわからんかったので。
- 35 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 22:18:26.47 ]
- ぱっと眺めてなんとなく思ったのは、人様のライブラリを作ったことがないからかも。
すべて自分で書くぶんには、でかいオブジェクトのコピーを避けるように意識してるから、 operator=とか使わない習慣ができちゃってるのかも。
- 36 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 22:45:07.34 ]
- >>34
誰もコンテナのコピーの話なんてしてないぞ 要素のコピーの話しかしてない 従来仕様では push_back すら不可能 引数を使って新しい要素をコピーコンストラクトするから 非共有スマポは使えない これがムーブできるようになったので大丈夫になった メモリの再確保なんかもそうだな
- 37 名前:デフォルトの名無しさん mailto:sage [2012/10/12(金) 23:20:40.18 ]
- >>32
container<T>が特殊なリソースを保持するハンドラでコピーはできんけど func みたいな生成関数を用意したい、てときにマジ便利 しかもそんな特殊なハンドラを標準コンテナにいれても良いンだぜ
- 38 名前:デフォルトの名無しさん [2012/10/13(土) 09:07:35.49 ]
- 純粋仮想関数の書き方ってC++11でも
virtual void func() const = 0; なんですか? =0のかわりに=hoge みたいなのが新しくできてたりしません?
- 39 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 09:21:00.84 ]
- #define hoge 0
- 40 名前:デフォルトの名無しさん [2012/10/13(土) 09:43:18.84 ]
- = 0 があったら virtual は省略可にならないかな
- 41 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 09:47:28.53 ]
- #define pure 0
virtual void func() const = pure;
- 42 名前:デフォルトの名無しさん [2012/10/13(土) 12:22:42.85 ]
- std::unordered_mapを使っていて、
std::_Hashtable<...>::_M_find_before_node(...) が呼ばれまくってるのですが、これはハッシュ値の衝突と関係ありますか?
- 43 名前:デフォルトの名無しさん mailto:sage [2012/10/13(土) 13:40:29.58 ]
- いいえ
- 44 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 02:49:32.87 ]
- 質問者です。
ttp://gcc.gnu.org/onlinedocs/gcc-4.7.1/libstdc++/api/a01197_source.html をみてみました。(hashtable.hのソースコード) いろいろ省略したけど、だいたいこんな感じですね。 for文で(あるハッシュ値に対応する)バケツの中を徘徊しているように見えますが、これが長いのか、そもそも呼ばれた回数が多いのか・・・ そもそも_M_find_before_nodeの呼ばれた回数見てみます。 //Find the node whose key compares equal to k in the bucket n. Return nullptr if no node is found. _BaseNode* _M_find_before_node(size_type __n, const key_type& __k, typename _Hashtable::_Hash_code_type __code) const { _BaseNode* __prev_p = _M_buckets[__n]; if (!__prev_p) return nullptr; _Node* __p = static_cast<_Node*>(__prev_p->_M_nxt); for (;; __p = __p->_M_next()) { if (this->_M_equals(__k, __code, __p)) return __prev_p; if (!(__p->_M_nxt) || _M_bucket_index(__p->_M_next()) != __n) break; __prev_p = __p; } return nullptr; }
- 45 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 03:39:22.50 ]
- ここって、unordered_mapの実装について質問するところなのか
- 46 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 08:41:27.79 ]
- まあ確かに相談室のほうに投下するべきだったけど。
上の件は、やはりハッシュ値の衝突が原因でした。 パフォーマンスが2倍変わったよ。
- 47 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 12:47:17.59 ]
- boostみたいにshared_ptrのマルチスレッド対応をOFFにしたいんだけどどうすればできますか?
- 48 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 15:00:01.57 ]
- 無い
- 49 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 15:10:44.55 ]
- まじすか…
C++の「使わないときにコストかけるな」っていう理念はどこにいったんですか?
- 50 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 15:16:56.60 ]
- atomic_is_lock_free
- 51 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 15:41:46.11 ]
- 実装の問題を規格の思想に言われてもな
- 52 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 15:49:32.67 ]
- まあ細かいこといったらC++からしたら「そんな義理は無い」ってことで終わりなんだろうけどさぁ
でもその理念を見失ったらC++のアイデンティティを失ったも同義だしほかの言語に全部持ってかれちゃうよ?
- 53 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 15:50:04.51 ]
- どうぞどうぞご勝手に
- 54 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 15:57:36.12 ]
- 作るのに1時間もかからんしスレッドアンセーフっていうか無駄な機能最大限省いたSPつくりゃいいよね
stdのはライブラリのインターフェースに使ったりとにかく可搬性ある汎用的なコード書きたい場合だけでいい
- 55 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 16:13:20.19 ]
- というかboost::shared_ptrでダメな理由がないんだが
std::shared_ptrはboostの劣化バージョンだから乗り換える理由が今のところない
- 56 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 18:02:38.32 ]
- どのあたりが違うの
- 57 名前:デフォルトの名無しさん mailto:sage [2012/10/14(日) 19:58:17.15 ]
- constexpr boost::shared_ptr<int> p(nullptr);
static_assert(noexcept(p.reset()), "boost::shared_ptrでは今のところ無理");
- 58 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 00:34:33.73 ]
- 劣化バージョンというあたりを詳しく聞きたい
- 59 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 12:42:04.47 ]
- boost::scoped_ptrはstd::unique_ptrに置き換えても大丈夫かな
- 60 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 13:24:56.31 ]
- 劣ってる部分有るか?
- 61 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 17:04:14.06 ]
- 業務連絡:gcc-4.8 に inheriting constructors が実装された模様
- 62 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 17:41:54.63 ]
- 後でコード追いにくくなる継承より
tuple返すメソッドでゴッソリ代入出来る構文を用意し欲しかった
- 63 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 21:30:33.05 ]
- >>58
マルチスレッドをオフにできない すでにブーストで書かれている過去の資産との親和性が低い
- 64 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 22:47:04.00 ]
- お薬出しておきますね
- 65 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 22:48:11.27 ]
- 反論は論理的に
悪口だけのレスは無価値です
- 66 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 23:29:32.92 ]
- >>63
> すでにブーストで書かれている過去の資産との親和性が低い 「ブーストで書かれている」が頭悪そう
- 67 名前:デフォルトの名無しさん mailto:sage [2012/10/15(月) 23:35:17.88 ]
- このスレかどうか忘れたけど
boost::shared_ptrとの相互運用の方法が書かれてたから 親和性はあるんじゃないかな
- 68 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 01:00:48.96 ]
- 前スレにあったな。
d.hatena.ne.jp/yohhoy/20120921/p1
- 69 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 06:49:51.69 ]
- >>67
コストかかり過ぎ
- 70 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 07:54:10.92 ]
- shared_ptr使ってる時点でコストを気にするもんじゃないと思うが
- 71 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 08:08:43.91 ]
- >>70
だからただでさえやばいコストがさらに膨れ上がるんじゃ使い物にならない
- 72 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 08:15:48.51 ]
- そりゃ相互運用にはコストがかかるもんさ。でも親和性とそれは全く別問題だよね。
少なくとも親和性は低くない、というかこれで相互乗り入れできるんだから親和性は結構高い
- 73 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 08:50:39.38 ]
- でも結局両方使えるならノーコストのboost::shared_ptrが有利だろ?
結局のところstdのほうが無駄が多いことは同じ
- 74 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 08:57:46.55 ]
- boost信者はこれだから困る。
実行時コストなんかどうでもいいんだよ。 標準ライブラリかどうかっていうのは致命的。 機能的に同じことをするなら標準の方法で 実装した方が後でメンテする人に迷惑がかからない。 今から入社してくる後輩に「おじいちゃんブーストって何?」 なんて聞かれたくないだろ。
- 75 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 09:31:53.59 ]
- >>74
どうでもいいは言い過ぎ …だが、そこ以外には激しく同意 会社では保守性一番
- 76 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 09:52:30.99 ]
- boost使ったら保守性さがるとか驚きだなどんだけ低レベルのPGが集まってるんだ
コミュニティに提言したらどうだ?お前んとこのライブラリは糞だってな
- 77 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 10:04:02.08 ]
- std::shared_ptrで作ったライブラリはC++03以前では使えない
しかしboost::shared_ptrで作ったライブラリは古いコンパイラでも動く。この差は非常に大きい 仕様策定からまだ間もないし実装が追いついて無いからまだ古いコンパイラ使ってるところのが多いしな だから可搬性ではstdよりはるかにboostのほうが高いしコンパイラのバージョンを気にしなくて良い分だけ「保守性も高い」 今から入社してくる後輩に「先輩このコードぼくのコンパイラだとコンパイルできないんですけどたすけてください」なんて聞かれたくないわなめんどくせぇし stdのが扱いやすいとか言ってる雑魚はまだ現実が見えてないよ stdが今のboostのような便利屋的な立場になるのはおそらく11の次の規格への乗り換えが始まるころだろうな このころになればコンパイラの実装もほぼコンプリートしているからstdに乗り換える理由がようやっと出てくる それまではどこの会社でもこれならboostのほうがええわという結論が出るだろう というか標準のバカどもが気を利かせてboostとの互換性を持たせるように仕様を決めればイイハナシなんだがな boostは次期標準を視野に入れたほとんど公式のライブラリなんだから標準はboostに敬意を払い互換性を持たせるべき
- 78 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 10:17:16.65 ]
- お薬増やしておきますね
- 79 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 10:19:21.41 ]
- ほう。論理的反論は不可能なようだなwww
- 80 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 10:49:56.91 ]
- boostは準標準と見ていいよ
stdの仕様決めるC++標準化委員会の人達がboostコミュニティの中心なんだし
- 81 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 11:09:08.10 ]
- どこまで行っても準標準は標準にはなれないけどね
委員会メンバーもそれが分かっててわざわざ規格にブチ込んだわけだし
- 82 名前:デフォルトの名無しさん mailto:sage [2012/10/16(火) 11:37:26.32 ]
- C++11のスレで、C++03以前の古いコンパイラがどうとか言ってるのは、まあ論外としても
まだドキュメントが少なくて利用実績のあまりない現状では、boost::shared_ptrを使うのは普通にアリだと思うよ でも将来は「std::shared_ptrがあるのにわざわざboost::shared_ptrを使う理由が分からない」とか言われるんだろうな 結局ドキュメント類が多いほうが世の中に浸透するんだし、その点でISO標準に勝つのはどうしても難しい (まあ、標準Pascal無視したDelphiとか、標準Basic無視したVBとか、例外はいくらでもあるが)
- 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に入ったらうれしい
|

|