- 1 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 20:05:20.33 ]
- The C++ Standards Committee
www.open-std.org/jtc1/sc22/wg21/ Wikipedia ja.wikipedia.org/wiki/C%2B%2B11 C++11/C++1y 16 toro.2ch.net/test/read.cgi/tech/1349356417/
- 22 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 10:52:20.02 ]
- itpro.nikkeibp.co.jp/article/Watcher/20130331/467401/
closeされてるwww
- 23 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 11:50:21.71 ]
- >>19
C++はCと組み合わせて使えるのが基本的な設計方針。
- 24 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 11:54:16.28 ]
- P/InvokeでC#からCのDLL呼び出したけど地獄だったぞ
STAThreadで呼び出せれば楽だけどパラメータが多いとシャレにならない
- 25 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 12:40:43.42 ]
- >>17
C++にはVLA(可変長配列)が無いのでCの方が同じ事を低オーバーヘッドで書ける、とかw C++11になるまではC99の機能もなかったから、Cを使うべき理由はたくさんあったw C++は覚えなきゃいけないことが多い(Effective C++レベルの知識が必要とか)ので、 コーディングに気を遣いたくない人はCにしておけとは思うね。
- 26 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 13:25:22.78 ]
- >>17
単純に速度的なものかと思ってた、 Cの構造体コピー = memcpy C++クラスコピー = コピコン(メンバー一個一個コピー) 参照とかポインタにしてコピコン減らせるけど、できない部分も出てくるし C++っぽいプログラムにすればするほどコピコン増える気がする
- 27 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 18:27:35.95 ]
- memcpyで済むような構造体はPODにすればC++でも一緒だし
それで済まないクラスならCでだって結局コピーに伴って初期化とか色々しなきゃならないと思うんだけど
- 28 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 19:15:39.77 ]
- だよね
- 29 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 19:30:34.91 ]
- せやな
- 30 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 19:41:39.77 ]
- Deep CopyとShallow Copyがなぜ区別が付いてるのか理解出来ない低脳が
住み着いてるようだよな
- 31 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 19:52:32.25 ]
- ピュアなcで作ったアプリは、ファイルサイズも小さく、利用メモリも小さくすむからそこが利点だと思う。
- 32 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 20:18:59.06 ]
- Cは演算子は兎も角普通の関数の
オーバーロード位は欲しい所だよね。 性能には関係ないのだから。
- 33 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 20:35:19.93 ]
- 関数テンプレートあるだけでCも相当便利になるような気がするんだが
って言っても今更C使う必然性なんて全然ないか(笑)
- 34 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 20:35:51.37 ]
- >>22
うわ、つい昨日全部読んだところだった。 よかったw しかし、この記事読むと、ゾッとするね。 非同期プログラミングとか、ソフトウェアの利点を否定してるようなもんだw
- 35 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 20:35:54.16 ]
- そういや C11 に _Generic とかいう型switchが存在してたな。
- 36 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 20:52:31.39 ]
- なんでもかんでも _ を付ける今のCって
- 37 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 20:59:38.97 ]
- >>32
ISO/IEC 9899:2011というものがあってだな。 実装したコンパイラ見たことないけど。
- 38 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 22:34:51.83 ]
- >>36
誰かが使ってるものと被ったら嫌だから 予約語の _大文字 を使うしやないんや・・・
- 39 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:07:51.22 ]
- _Boolとかダサすぎて使う気になれなかった
- 40 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:15:20.72 ]
- #import <stdbool.h>
- 41 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:18:40.90 ]
- stdboot.hもダサい
- 42 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:19:44.99 ]
- #import って何?
- 43 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:21:09.68 ]
- includeの間違いだろう。どう見ても
- 44 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:30:28.96 ]
- >>42
#include の一回しか読み込まない版
- 45 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:34:53.97 ]
- >>44
お前の中ではそうなんだろう
- 46 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 23:39:32.46 ]
- >>42
Objective-Cの話か?
- 47 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 01:07:17.86 ]
- ファイルがシンボリックリンクやらハードリンクされてる場合はどうなるの?
- 48 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 01:16:04.43 ]
- コンパイラ次第です
- 49 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 01:43:33.85 ]
- 下手に規定しない方が実装が自由にやれる
- 50 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 01:48:17.10 ]
- >>17
C99 の designated initializer はかなり便利 FreeBSD のカーネルコードでガシガシ使ってる
- 51 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 02:34:16.78 ]
- import == 輸入だす
- 52 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 05:30:36.64 ]
- >>47
os レベルで処理されるから、多くの場合は普通のファイルと変わらない扱いだろうな
- 53 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 08:20:20.35 ]
- C++ってCの上にくっ付けた機能がセンス無さ過ぎて...
所詮C人気に便乗したゴミ言語
- 54 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 09:03:48.65 ]
- >>53
人気に便乗したというよりもともとがcのラッパー(プリプロセッサ)だからね? すでに存在するものは極力利用するなんていかにもc技術者らしいけどc++のstructとか、言語的欠陥のおかしい部分はそこに引きずられていたという気もしてる。 c/c++の関係は、今でいうjavascriptとtypescriptのような関係だ。
- 55 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 12:35:29.62 ]
- >>50
初期化といえば、C++にはユーザ定義リテラルがあるぜ。
- 56 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 12:38:04.56 ]
- >>55
知らないかもしれないけどC++にはコンストラクターがあるんだぜ。 初期化方法をユーザー定義できるんだぜ。
- 57 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 12:50:17.73 ]
- C++にはデストラクタがある。
これだけでCを捨てるには十分な理由。
- 58 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 12:50:21.45 ]
- C++は後方互換を切り捨ててコンパクトになれよ
- 59 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:00:05.91 ]
- むしろ今のC++についてこれない奴を切り捨てる方がずっと早いし意義がある
- 60 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:01:59.87 ]
- >>58
Dでいいじゃん
- 61 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:03:41.01 ]
- C++言語はこの世で最も洗練された美しいプログラミング言語だ。
- 62 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:04:02.95 ]
- >>60
今C++以上に混沌としていて仕様の破壊的変更を待っているマゾしかいないのに
- 63 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:06:01.70 ]
- Designated InitializerってC++11に入らなかったんだ。なんで?
VLAが嫌われるのは何となく分かるけど。
- 64 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:07:32.00 ]
- ひとつの言語で低レベルから高レベルまで
全部書けるべきというスタンスが頭悪過ぎて目眩がする
- 65 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:09:55.52 ]
- Cの方がC++との歩み寄りを否定しちゃってるよな
- 66 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:16:40.74 ]
- Cから見ればC++なんて、相互運用可能な
数多ある言語のひとつに過ぎないからね
- 67 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:19:19.78 ]
- >>62
後方互換を捨てるってそういうことだろ?
- 68 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:34:01.76 ]
- >>63
constexprコンストラクタが有れば要らないと判断されたんじゃね
- 69 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 13:57:33.50 ]
- constexpr は、コンパイル時計算不可の時にエラーを吐くようなオプションが欲しい。
- 70 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 14:04:49.90 ]
- 警告位は出してほしいよな
黙って実行時評価に変更されても
- 71 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 14:13:54.65 ]
- 禿が決めたことには従え
- 72 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 15:43:08.46 ]
- >>69
gccはその内にできるんじゃない?
- 73 名前:デフォルトの名無しさん mailto:sage [2013/04/06(土) 18:20:44.99 ]
- >>61
いや::が醜いわ
- 74 名前:デフォルトの名無しさん [2013/04/07(日) 23:41:12.01 ]
- 昔はC++には否定的だったけど、JavaやってC++への評価が改まったよ。
- 75 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 04:21:12.17 ]
- C#やったらC++がクソと思えるようになるだろ
- 76 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 04:30:43.01 ]
- C#やったけど
こんなに適当に書けていいのかって思ったな
- 77 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 07:30:34.13 ]
- C#はスレッドが扱いやすい
- 78 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 11:23:32.99 ]
- BOOST_SCOPE_EXITの代替になるようなものは無いの?
- 79 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 13:32:29.51 ]
- >>78
言語機能にはないので自動変数のデストラクタを使ってください(BOOST_SCOPE_EXITも基本はそのラッパーマクロです)
- 80 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 19:28:53.09 ]
- finally実装すれば済むだけな気もするけど
何か難しい問題点があったのだろうか
- 81 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 20:45:21.75 ]
- デストラクタで賄えって思想なんじゃね
- 82 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 20:51:52.49 ]
- ゼロオーバーヘッドの原則がイケメンすぐる。
- 83 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:00:57.66 ]
- clangにfinallyが無くてエンバカが慌てたらしいが結局混在出来なくなって
どちらか一方でしかコンパイル出来ないようだ
- 84 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:22:40.68 ]
- >>83
kwsk
- 85 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:27:24.77 ]
- docwiki.embarcadero.com/RADStudio/XE3/ja/Finally_%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AE%E8%A8%98%E8%BF%B0%EF%BC%88Delphi%EF%BC%89
こんな感じでC++Builder 64bitはfinallyが使えなくなったんだろ? で、こういう方向へ docwiki.embarcadero.com/RADStudio/XE3/ja/%E3%82%88%E3%82%8A%E5%8E%B3%E5%AF%86%E3%81%AA_C%2B%2B_%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%EF%BC%88BCC64%EF%BC%89 >BCC32 では、__try と catch を混在させることができます。 >BCC64 では、try/catch(標準 C++)か __try/__except/__finally(Microsoft による拡張)のどちらか一方でなければなりません。
- 86 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:29:09.66 ]
- あのさぁ、C++Builderとか使ってるやついるの??
- 87 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:29:15.77 ]
- そもそも例外と構造化例外は違うだろう
- 88 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:31:21.62 ]
- >>85
>BCC64 は Clang をベースにしています。 へー知らなかった
- 89 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:32:40.46 ]
- マジか。じゃあWindowsでまともなC+11実装が欲しければBCC64を買えと
- 90 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:41:10.90 ]
- >>86
俺 >>87 へ? >>88 やっとC++11に純粋に対応したが既に時遅し感 CodeGuardも64bitでは使えないし >>89 そういう事だろうな
- 91 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:43:46.19 ]
- つまりC++BuilderはDelphiのVCLをそのまま使ってるので、どうしても__finallyがいる
それでも対応しきれないライブラリは使えないように殺してしまってるし clangを使ったのはもちろん手抜きだろう もう1から64bitコンパイラを作るだけの企業体力が残ってないんだろ
- 92 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:53:17.39 ]
- 一から作るのなんて単なる無駄では...
- 93 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:54:44.94 ]
- ロマンはある。
- 94 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:54:52.96 ]
- ではなぜMSは1から作るんだ?
そこに他にはない商品価値があるからではないか?
- 95 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:57:01.60 ]
- MSでさえなんでも一から作らずにOSS使ってるよ。
- 96 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 22:05:47.77 ]
- ときどきGPLを混ぜてやらかすからな
- 97 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 22:59:36.76 ]
- 会社ごと買い取って自社製品として売り出すなんてこといつもやってるじゃん
- 98 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 00:15:03.38 ]
- C++11はそろそろ安定して仕事に使っても大丈夫な感じなんだろうか
まだ不安でC++03のままなんだけど(boost経由で知らない間に使ってるかもしれないけど)
- 99 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 00:20:46.74 ]
- g++オンリーなら使えなくもないレベル
thread_localがないとか若干微妙だが、概ね実装されてる VC++はまだまだ糞
- 100 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 00:33:54.60 ]
- gcc は↓がダメというわけわからんバグがあるから
ラムダはちょっと怖い。今のところ問題ないけど int main() { int x = 0; [&]{ try {} catch(...){ x; } }; // NG [&]{{ try {} catch(...){ x; } }}; // (OK) }
- 101 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 00:37:01.89 ]
- 4.6.0 だと大丈夫だった
4.7.x だとエラーになるのか
- 102 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 00:48:32.60 ]
- 出た。50歩100歩のGCC信者。
gnu自信がexperimentalって言ってるのに msに無くてgccにある機能を見つけて msを批判しないと 精神の安定が保てないんだね。 gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011
- 103 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 05:25:05.80 ]
- VCに限っては批判されてもおかしくはない
それくらい酷い状態
- 104 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 05:26:35.66 ]
- お前等C++11なんてクソ言語を実装させられる身にもなってみろよ
- 105 名前:デフォルトの名無しさん [2013/04/09(火) 06:15:12.08 ]
- もうC++は諦めろよ・・・いい加減
いつまで老害になる気だよ
- 106 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 08:36:21.77 ]
- このままだとC++03がいつまでも標準なままだな
- 107 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 10:35:02.13 ]
- c11みたいにGCCにすら相手に
されない言語に比べたらc++11は はるかにマシ
- 108 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 10:47:40.92 ]
- ハァ? GCCは(Clangも)C11ほぼ全部実装してるだろ
Appendixはそりゃ実装してないけど
- 109 名前:デフォルトの名無しさん mailto:sage [2013/04/09(火) 10:54:32.24 ]
- あ、ごめん。Appendixじゃない。Optional featureのことね。
- 110 名前:デフォルトの名無しさん mailto:sage [2013/04/10(水) 00:45:11.39 ]
- >>108
_Genericとかthread.hあったっけ?
- 111 名前:デフォルトの名無しさん mailto:sage [2013/04/10(水) 02:23:46.16 ]
- _Genericはあるだろ、自分で確認しろよそのくらい
thread.hはOptional
- 112 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 19:58:37.92 ]
- どこかのサイトに、fstreamはfopenよりもパフォーマンス的に良くないと書いてあったんだけど、どうして??
fstreamはfclose的なものがないから好きなんだけどなぁ。
- 113 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 20:02:43.84 ]
- メンバ関数にclose()はあるけどな
時々使わなくてはいけない時もある 通常はスコープが外れるとデストラクタでclose()呼び出すけどな
- 114 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 20:05:15.30 ]
- >>112
d.hatena.ne.jp/s-yata/20100726/1280138663 もしかしてこういう奴か
- 115 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 20:08:07.88 ]
- >>113-114
そんなこた>>112は知ってんだろうから 質問に答えてやったらどうだ?
- 116 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 20:09:06.85 ]
- 何言ってんだこの馬鹿
- 117 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 20:12:04.08 ]
- お前が答えてやれやカス
- 118 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 20:25:15.03 ]
- iostreamは「いくらお前等が信者でも
iostreamがクソだと気付よ」 というメッセージが込められている。 だから実装もわざと遅くしてある。 それに気づくかどうかを試す 禿のトラップなんだよ
- 119 名前:112 mailto:sage [2013/04/11(木) 20:40:18.57 ]
- >>114
そこではなかったんだけど、どっかのブログに書いてた。 しかし、こんなにも差が出るんだなぁ。 stdio.hのファイル入出力使う場合、 fscanfが重宝するんだけど、 ifstream(operator >>)よりは速いかなぁ。 >>118 そうだったのか!!
- 120 名前:デフォルトの名無しさん [2013/04/11(木) 20:42:32.04 ]
- そんなことわざわざするか。タコ
- 121 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 20:51:18.04 ]
- iostreamなんて必要ないよ。
- 122 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 21:29:23.06 ]
- 速度が必要な所ではそもそもAPIを使う
|

|