トップページ⇒tech
1001コメント234KB

C++11/C++1y 18

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2013/04/04(木) 20:05:20.33
The C++ Standards Committee
http://www.open-std.org/jtc1/sc22/wg21/

Wikipedia
http://ja.wikipedia.org/wiki/C%2B%2B11

C++11/C++1y 16
http://toro.2ch.net/test/read.cgi/tech/1349356417/
0002はちみつ餃子 ◆8X2XSCHEME 2013/04/04(木) 20:13:11.37
>>2 get
0003デフォルトの名無しさん2013/04/04(木) 20:28:02.98
後方互換性を適当に切り捨てた素敵C++来い
0004デフォルトの名無しさん2013/04/04(木) 20:32:55.97
禿が牛耳ってる間は無理だろ
0005デフォルトの名無しさん2013/04/04(木) 20:45:26.00
>>3
Dでいいじゃん
0006デフォルトの名無しさん2013/04/04(木) 20:49:09.66
DはベターCとして使えないから
0007はちみつ餃子 ◆8X2XSCHEME 2013/04/04(木) 20:55:37.14
>>6
C の制約を捨てられないなら結局 C++ と似たようなものになるんでないの。
0008デフォルトの名無しさん2013/04/04(木) 21:11:57.40
Cレベルの高級アセンブラとして使えればいいと言うこと
0009デフォルトの名無しさん2013/04/04(木) 21:24:35.64
CレベルでいいならCでいいじゃん
0010デフォルトの名無しさん2013/04/04(木) 23:21:53.98
C++コンパイラでコンパイルできるC++の一部ではない本当のCを必要とする人はどれだけいるというのか?
0011デフォルトの名無しさん2013/04/04(木) 23:29:04.04
・変数を使うときに宣言できる
・//でコメントアウトできる

これだけでC++は神言語だ。
0012デフォルトの名無しさん2013/04/04(木) 23:36:44.25
C99でできるじゃん
0013デフォルトの名無しさん2013/04/04(木) 23:42:47.52
>>12
(;゚△゚)マジでっ!?

でもVC++だとC99対応してないしなぁ。
0014デフォルトの名無しさん2013/04/04(木) 23:42:54.03
それじゃあC++が要らない子になっちゃうじゃん!!ダメだよ!
0015デフォルトの名無しさん2013/04/04(木) 23:47:42.50
C#がちょっとしたGUIツール作るのに便利だということで触ってみたら、
ハットとかいうキモい記号がある時点で拒絶反応が起こった。

そう、C++はこの世でだれよりも速く・・・・・・そして美しい!!
0016デフォルトの名無しさん2013/04/04(木) 23:49:47.70
むしろbetterCが欲しければC99以降を使うように誘導して、betterCとしてのC++の使用は排除していくべき
0017デフォルトの名無しさん2013/04/05(金) 00:23:57.28
C++よりC99/C2011を使うべきという人に、
どうしてC++ではダメなのかの根拠を
ちゃんと説明できた人を見たことがない。
0018デフォルトの名無しさん2013/04/05(金) 00:50:54.37
http://www.infoq.com/jp/news/2013/04/gcc48_released
0019デフォルトの名無しさん2013/04/05(金) 01:28:17.17
>>17
BetterCとしてCでのやり方をそのまま全てC++でも使おうとしてC++ならではのやり方を受け入れず、あるいは公然と否定までして
C++として使っている人との間に争いを起こしたりするのは双方にとってただ不幸でしかないだろ
0020デフォルトの名無しさん2013/04/05(金) 07:39:00.84
もともとC++だったLLVMに続いて
GCCもC++に移行か。
0021デフォルトの名無しさん2013/04/05(金) 09:18:34.92
はやくC#に完全移行しないかな
0022デフォルトの名無しさん2013/04/05(金) 10:52:20.02
http://itpro.nikkeibp.co.jp/article/Watcher/20130331/467401/
closeされてるwww
0023デフォルトの名無しさん2013/04/05(金) 11:50:21.71
>>19
C++はCと組み合わせて使えるのが基本的な設計方針。
0024デフォルトの名無しさん2013/04/05(金) 11:54:16.28
P/InvokeでC#からCのDLL呼び出したけど地獄だったぞ
STAThreadで呼び出せれば楽だけどパラメータが多いとシャレにならない
0025デフォルトの名無しさん2013/04/05(金) 12:40:43.42
>>17
C++にはVLA(可変長配列)が無いのでCの方が同じ事を低オーバーヘッドで書ける、とかw
C++11になるまではC99の機能もなかったから、Cを使うべき理由はたくさんあったw

C++は覚えなきゃいけないことが多い(Effective C++レベルの知識が必要とか)ので、
コーディングに気を遣いたくない人はCにしておけとは思うね。
0026デフォルトの名無しさん2013/04/05(金) 13:25:22.78
>>17
単純に速度的なものかと思ってた、
Cの構造体コピー = memcpy
C++クラスコピー = コピコン(メンバー一個一個コピー)
参照とかポインタにしてコピコン減らせるけど、できない部分も出てくるし
C++っぽいプログラムにすればするほどコピコン増える気がする
0027デフォルトの名無しさん2013/04/05(金) 18:27:35.95
memcpyで済むような構造体はPODにすればC++でも一緒だし
それで済まないクラスならCでだって結局コピーに伴って初期化とか色々しなきゃならないと思うんだけど
0028デフォルトの名無しさん2013/04/05(金) 19:15:39.77
だよね
0029デフォルトの名無しさん2013/04/05(金) 19:30:34.91
せやな
0030デフォルトの名無しさん2013/04/05(金) 19:41:39.77
Deep CopyとShallow Copyがなぜ区別が付いてるのか理解出来ない低脳が
住み着いてるようだよな
0031デフォルトの名無しさん2013/04/05(金) 19:52:32.25
ピュアなcで作ったアプリは、ファイルサイズも小さく、利用メモリも小さくすむからそこが利点だと思う。
0032デフォルトの名無しさん2013/04/05(金) 20:18:59.06
Cは演算子は兎も角普通の関数の
オーバーロード位は欲しい所だよね。
性能には関係ないのだから。
0033デフォルトの名無しさん2013/04/05(金) 20:35:19.93
関数テンプレートあるだけでCも相当便利になるような気がするんだが
って言っても今更C使う必然性なんて全然ないか(笑)
0034デフォルトの名無しさん2013/04/05(金) 20:35:51.37
>>22
うわ、つい昨日全部読んだところだった。
よかったw

しかし、この記事読むと、ゾッとするね。
非同期プログラミングとか、ソフトウェアの利点を否定してるようなもんだw
0035デフォルトの名無しさん2013/04/05(金) 20:35:54.16
そういや C11 に _Generic とかいう型switchが存在してたな。
0036デフォルトの名無しさん2013/04/05(金) 20:52:31.39
なんでもかんでも _ を付ける今のCって
0037デフォルトの名無しさん2013/04/05(金) 20:59:38.97
>>32
ISO/IEC 9899:2011というものがあってだな。
実装したコンパイラ見たことないけど。
0038デフォルトの名無しさん2013/04/05(金) 22:34:51.83
>>36
誰かが使ってるものと被ったら嫌だから
予約語の _大文字 を使うしやないんや・・・
0039デフォルトの名無しさん2013/04/05(金) 23:07:51.22
_Boolとかダサすぎて使う気になれなかった
0040デフォルトの名無しさん2013/04/05(金) 23:15:20.72
#import <stdbool.h>
0041デフォルトの名無しさん2013/04/05(金) 23:18:40.90
stdboot.hもダサい
0042デフォルトの名無しさん2013/04/05(金) 23:19:44.99
#import って何?
0043デフォルトの名無しさん2013/04/05(金) 23:21:09.68
includeの間違いだろう。どう見ても
0044デフォルトの名無しさん2013/04/05(金) 23:30:28.96
>>42
#include の一回しか読み込まない版
0045デフォルトの名無しさん2013/04/05(金) 23:34:53.97
>>44
お前の中ではそうなんだろう
0046デフォルトの名無しさん2013/04/05(金) 23:39:32.46
>>42
Objective-Cの話か?
0047デフォルトの名無しさん2013/04/06(土) 01:07:17.86
ファイルがシンボリックリンクやらハードリンクされてる場合はどうなるの?
0048デフォルトの名無しさん2013/04/06(土) 01:16:04.43
コンパイラ次第です
0049デフォルトの名無しさん2013/04/06(土) 01:43:33.85
下手に規定しない方が実装が自由にやれる
0050デフォルトの名無しさん2013/04/06(土) 01:48:17.10
>>17
C99 の designated initializer はかなり便利
FreeBSD のカーネルコードでガシガシ使ってる
0051デフォルトの名無しさん2013/04/06(土) 02:34:16.78
import == 輸入だす
0052デフォルトの名無しさん2013/04/06(土) 05:30:36.64
>>47
os レベルで処理されるから、多くの場合は普通のファイルと変わらない扱いだろうな
0053デフォルトの名無しさん2013/04/06(土) 08:20:20.35
C++ってCの上にくっ付けた機能がセンス無さ過ぎて...
所詮C人気に便乗したゴミ言語
0054デフォルトの名無しさん2013/04/06(土) 09:03:48.65
>>53
人気に便乗したというよりもともとがcのラッパー(プリプロセッサ)だからね?
すでに存在するものは極力利用するなんていかにもc技術者らしいけどc++のstructとか、言語的欠陥のおかしい部分はそこに引きずられていたという気もしてる。

c/c++の関係は、今でいうjavascriptとtypescriptのような関係だ。
0055デフォルトの名無しさん2013/04/06(土) 12:35:29.62
>>50
初期化といえば、C++にはユーザ定義リテラルがあるぜ。
0056デフォルトの名無しさん2013/04/06(土) 12:38:04.56
>>55
知らないかもしれないけどC++にはコンストラクターがあるんだぜ。
初期化方法をユーザー定義できるんだぜ。
0057デフォルトの名無しさん2013/04/06(土) 12:50:17.73
C++にはデストラクタがある。
これだけでCを捨てるには十分な理由。
0058デフォルトの名無しさん2013/04/06(土) 12:50:21.45
C++は後方互換を切り捨ててコンパクトになれよ
0059デフォルトの名無しさん2013/04/06(土) 13:00:05.91
むしろ今のC++についてこれない奴を切り捨てる方がずっと早いし意義がある
0060デフォルトの名無しさん2013/04/06(土) 13:01:59.87
>>58
Dでいいじゃん
0061デフォルトの名無しさん2013/04/06(土) 13:03:41.01
C++言語はこの世で最も洗練された美しいプログラミング言語だ。
0062デフォルトの名無しさん2013/04/06(土) 13:04:02.95
>>60
今C++以上に混沌としていて仕様の破壊的変更を待っているマゾしかいないのに
0063デフォルトの名無しさん2013/04/06(土) 13:06:01.70
Designated InitializerってC++11に入らなかったんだ。なんで?
VLAが嫌われるのは何となく分かるけど。
0064デフォルトの名無しさん2013/04/06(土) 13:07:32.00
ひとつの言語で低レベルから高レベルまで
全部書けるべきというスタンスが頭悪過ぎて目眩がする
0065デフォルトの名無しさん2013/04/06(土) 13:09:55.52
Cの方がC++との歩み寄りを否定しちゃってるよな
0066デフォルトの名無しさん2013/04/06(土) 13:16:40.74
Cから見ればC++なんて、相互運用可能な
数多ある言語のひとつに過ぎないからね
0067デフォルトの名無しさん2013/04/06(土) 13:19:19.78
>>62
後方互換を捨てるってそういうことだろ?
0068デフォルトの名無しさん2013/04/06(土) 13:34:01.76
>>63
constexprコンストラクタが有れば要らないと判断されたんじゃね
0069デフォルトの名無しさん2013/04/06(土) 13:57:33.50
constexpr は、コンパイル時計算不可の時にエラーを吐くようなオプションが欲しい。
0070デフォルトの名無しさん2013/04/06(土) 14:04:49.90
警告位は出してほしいよな
黙って実行時評価に変更されても
0071デフォルトの名無しさん2013/04/06(土) 14:13:54.65
禿が決めたことには従え
0072デフォルトの名無しさん2013/04/06(土) 15:43:08.46
>>69
gccはその内にできるんじゃない?
0073デフォルトの名無しさん2013/04/06(土) 18:20:44.99
>>61
いや::が醜いわ
0074デフォルトの名無しさん2013/04/07(日) 23:41:12.01
昔はC++には否定的だったけど、JavaやってC++への評価が改まったよ。
0075デフォルトの名無しさん2013/04/08(月) 04:21:12.17
C#やったらC++がクソと思えるようになるだろ
0076デフォルトの名無しさん2013/04/08(月) 04:30:43.01
C#やったけど
こんなに適当に書けていいのかって思ったな
0077デフォルトの名無しさん2013/04/08(月) 07:30:34.13
C#はスレッドが扱いやすい
0078デフォルトの名無しさん2013/04/08(月) 11:23:32.99
BOOST_SCOPE_EXITの代替になるようなものは無いの?
0079デフォルトの名無しさん2013/04/08(月) 13:32:29.51
>>78
言語機能にはないので自動変数のデストラクタを使ってください(BOOST_SCOPE_EXITも基本はそのラッパーマクロです)
0080デフォルトの名無しさん2013/04/08(月) 19:28:53.09
finally実装すれば済むだけな気もするけど
何か難しい問題点があったのだろうか
0081デフォルトの名無しさん2013/04/08(月) 20:45:21.75
デストラクタで賄えって思想なんじゃね
0082デフォルトの名無しさん2013/04/08(月) 20:51:52.49
ゼロオーバーヘッドの原則がイケメンすぐる。
0083デフォルトの名無しさん2013/04/08(月) 21:00:57.66
clangにfinallyが無くてエンバカが慌てたらしいが結局混在出来なくなって
どちらか一方でしかコンパイル出来ないようだ
0084デフォルトの名無しさん2013/04/08(月) 21:22:40.68
>>83
kwsk
0085デフォルトの名無しさん2013/04/08(月) 21:27:24.77
http://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が使えなくなったんだろ?
で、こういう方向へ

http://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 による拡張)のどちらか一方でなければなりません。
0086デフォルトの名無しさん2013/04/08(月) 21:29:09.66
あのさぁ、C++Builderとか使ってるやついるの??
0087デフォルトの名無しさん2013/04/08(月) 21:29:15.77
そもそも例外と構造化例外は違うだろう
0088デフォルトの名無しさん2013/04/08(月) 21:31:21.62
>>85
>BCC64 は Clang をベースにしています。
へー知らなかった
0089デフォルトの名無しさん2013/04/08(月) 21:32:40.46
マジか。じゃあWindowsでまともなC+11実装が欲しければBCC64を買えと
0090デフォルトの名無しさん2013/04/08(月) 21:41:10.90
>>86
俺
>>87
へ?
>>88
やっとC++11に純粋に対応したが既に時遅し感
CodeGuardも64bitでは使えないし
>>89
そういう事だろうな
0091デフォルトの名無しさん2013/04/08(月) 21:43:46.19
つまりC++BuilderはDelphiのVCLをそのまま使ってるので、どうしても__finallyがいる
それでも対応しきれないライブラリは使えないように殺してしまってるし
clangを使ったのはもちろん手抜きだろう
もう1から64bitコンパイラを作るだけの企業体力が残ってないんだろ
0092デフォルトの名無しさん2013/04/08(月) 21:53:17.39
一から作るのなんて単なる無駄では...
0093デフォルトの名無しさん2013/04/08(月) 21:54:44.94
ロマンはある。
0094デフォルトの名無しさん2013/04/08(月) 21:54:52.96
ではなぜMSは1から作るんだ?
そこに他にはない商品価値があるからではないか?
0095デフォルトの名無しさん2013/04/08(月) 21:57:01.60
MSでさえなんでも一から作らずにOSS使ってるよ。
0096デフォルトの名無しさん2013/04/08(月) 22:05:47.77
ときどきGPLを混ぜてやらかすからな
0097デフォルトの名無しさん2013/04/08(月) 22:59:36.76
会社ごと買い取って自社製品として売り出すなんてこといつもやってるじゃん
0098デフォルトの名無しさん2013/04/09(火) 00:15:03.38
C++11はそろそろ安定して仕事に使っても大丈夫な感じなんだろうか
まだ不安でC++03のままなんだけど(boost経由で知らない間に使ってるかもしれないけど)
0099デフォルトの名無しさん2013/04/09(火) 00:20:46.74
g++オンリーなら使えなくもないレベル
thread_localがないとか若干微妙だが、概ね実装されてる
VC++はまだまだ糞
0100デフォルトの名無しさん2013/04/09(火) 00:33:54.60
gcc は↓がダメというわけわからんバグがあるから
ラムダはちょっと怖い。今のところ問題ないけど
int main()
{
  int x = 0;
  [&]{ try {} catch(...){ x; } }; // NG
  [&]{{ try {} catch(...){ x; } }}; // (OK)
}
0101デフォルトの名無しさん2013/04/09(火) 00:37:01.89
4.6.0 だと大丈夫だった
4.7.x だとエラーになるのか
0102デフォルトの名無しさん2013/04/09(火) 00:48:32.60
出た。50歩100歩のGCC信者。
gnu自信がexperimentalって言ってるのに
msに無くてgccにある機能を見つけて
msを批判しないと
精神の安定が保てないんだね。

http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011
0103デフォルトの名無しさん2013/04/09(火) 05:25:05.80
VCに限っては批判されてもおかしくはない
それくらい酷い状態
0104デフォルトの名無しさん2013/04/09(火) 05:26:35.66
お前等C++11なんてクソ言語を実装させられる身にもなってみろよ
0105デフォルトの名無しさん2013/04/09(火) 06:15:12.08
もうC++は諦めろよ・・・いい加減
いつまで老害になる気だよ
0106デフォルトの名無しさん2013/04/09(火) 08:36:21.77
このままだとC++03がいつまでも標準なままだな
0107デフォルトの名無しさん2013/04/09(火) 10:35:02.13
c11みたいにGCCにすら相手に
されない言語に比べたらc++11は
はるかにマシ
0108デフォルトの名無しさん2013/04/09(火) 10:47:40.92
ハァ? GCCは(Clangも)C11ほぼ全部実装してるだろ
Appendixはそりゃ実装してないけど
0109デフォルトの名無しさん2013/04/09(火) 10:54:32.24
あ、ごめん。Appendixじゃない。Optional featureのことね。
0110デフォルトの名無しさん2013/04/10(水) 00:45:11.39
>>108
_Genericとかthread.hあったっけ?
0111デフォルトの名無しさん2013/04/10(水) 02:23:46.16
_Genericはあるだろ、自分で確認しろよそのくらい
thread.hはOptional
0112デフォルトの名無しさん2013/04/11(木) 19:58:37.92
どこかのサイトに、fstreamはfopenよりもパフォーマンス的に良くないと書いてあったんだけど、どうして??

fstreamはfclose的なものがないから好きなんだけどなぁ。
0113デフォルトの名無しさん2013/04/11(木) 20:02:43.84
メンバ関数にclose()はあるけどな
時々使わなくてはいけない時もある
通常はスコープが外れるとデストラクタでclose()呼び出すけどな
0114デフォルトの名無しさん2013/04/11(木) 20:05:15.30
>>112
http://d.hatena.ne.jp/s-yata/20100726/1280138663

もしかしてこういう奴か
0115デフォルトの名無しさん2013/04/11(木) 20:08:07.88
>>113-114
そんなこた>>112は知ってんだろうから
質問に答えてやったらどうだ?
0116デフォルトの名無しさん2013/04/11(木) 20:09:06.85
何言ってんだこの馬鹿
0117デフォルトの名無しさん2013/04/11(木) 20:12:04.08
お前が答えてやれやカス
0118デフォルトの名無しさん2013/04/11(木) 20:25:15.03
iostreamは「いくらお前等が信者でも
iostreamがクソだと気付よ」
というメッセージが込められている。
だから実装もわざと遅くしてある。
それに気づくかどうかを試す
禿のトラップなんだよ
01191122013/04/11(木) 20:40:18.57
>>114
そこではなかったんだけど、どっかのブログに書いてた。
しかし、こんなにも差が出るんだなぁ。
stdio.hのファイル入出力使う場合、
fscanfが重宝するんだけど、
ifstream(operator >>)よりは速いかなぁ。

>>118
そうだったのか!!
0120デフォルトの名無しさん2013/04/11(木) 20:42:32.04
そんなことわざわざするか。タコ
0121デフォルトの名無しさん2013/04/11(木) 20:51:18.04
iostreamなんて必要ないよ。
0122デフォルトの名無しさん2013/04/11(木) 21:29:23.06
速度が必要な所ではそもそもAPIを使う
0123デフォルトの名無しさん2013/04/11(木) 22:28:51.00
shared_ptrのカスタムデリータにfclose登録しとけばいいじゃない
0124デフォルトの名無しさん2013/04/11(木) 22:36:28.10
そんなクソなコードはメンテしたくない
0125デフォルトの名無しさん2013/04/11(木) 22:42:52.03
明示的にcloseする必要が無いならcloseなんかしなくてもいいじゃん

だって、closeするのはそこでcloseされてないと困る場合だろ。
どうでもいいならプログラム終了までほっとけばいい。
0126デフォルトの名無しさん2013/04/11(木) 22:53:09.51
ロックしっぱなし、内容フラッシュされないままで放っておくのかよ
0127デフォルトの名無しさん2013/04/11(木) 22:54:13.68
>>125
>明示的にcloseする必要が無いならcloseなんかしなくてもいいじゃん

開く処理と同じスコープを抜けるときに
クローズしたいことは
極めてよくあることですが。
明示的に書くと漏れる恐れがあるから
デストラクタに任せるのも
極めてよくあることです。
0128デフォルトの名無しさん2013/04/11(木) 22:55:42.30
>>125
こいつ最高にアホ
0129デフォルトの名無しさん2013/04/11(木) 23:02:49.16
きっとクローズ処理のエラーハンドリング
の厳密性を重視しているのだろう。
そうに違いない。
0130デフォルトの名無しさん2013/04/11(木) 23:02:50.53
バカチョン発狂
01311122013/04/11(木) 23:06:25.83
>>122
APIもいいか・・・。

>>123
そうか!
カスタムデリータ、ほんと便利だ。
COMプログラミングでもRelease自動でやってくれる。
神。
0132デフォルトの名無しさん2013/04/11(木) 23:10:11.77
クローズしないと他のソフトに迷惑でしょ
0133デフォルトの名無しさん2013/04/11(木) 23:25:42.15
書き込んだ場合のfclose()は、ちゃんと戻り値チェックしろよー
お約束だろ?
0134デフォルトの名無しさん2013/04/11(木) 23:50:12.99
してませんが
0135デフォルトの名無しさん2013/04/11(木) 23:56:47.74
fcloseがエラー返してもどうしようもないですしおすし
まあログくらいはできるが
0136デフォルトの名無しさん2013/04/12(金) 00:54:19.27
streamは例外飛ばすオプションがあるからそれを利用する手もあるな
0137デフォルトの名無しさん2013/04/12(金) 06:35:22.05
書き込み後のファイルクローズに失敗したという事は、出力ファイルの内容が信頼できないという事だから、そのファイルは破棄するべき。

直接上書きとかしているとできないだろうけれど、テンポラリーファイル作ってrenameするという手順とっておけば問題ない。
0138デフォルトの名無しさん2013/04/12(金) 07:04:01.04
デストラクタ信者はエラーは握りつぶして良いという
強い強い信念をもっている
だってデストラクタから例外投げるとカオスになるから
0139デフォルトの名無しさん2013/04/12(金) 07:09:48.68
デストラクタからでも例外投げればいいじゃない
死ぬだろうけど
0140デフォルトの名無しさん2013/04/12(金) 07:09:54.32
↑&↑↑アホ
0141デフォルトの名無しさん2013/04/12(金) 07:12:16.74
↑マヌケ
0142デフォルトの名無しさん2013/04/12(金) 07:13:09.10
デストラクタで起こるリソース破棄時の
問題は頭が痛い。
だが元の>>125がそれを気にしていたかというと
恐らく違うだろう
01431252013/04/12(金) 13:26:20.49
俺が言ってるのは明示的にcloseする必要の無いときの話だから。
どうでもいいならcloseなんかしないでほっておけばいいし、
そこでやる理由があるならやればいい(closeを呼ぶとか
そこでデストラクタが呼ばれるようにするとか)。
0144デフォルトの名無しさん2013/04/12(金) 13:35:14.43
何か結構怖い感覚でプログラム書いてくれちゃってるなあ
こいつには仕事任せたくないわ
0145デフォルトの名無しさん2013/04/12(金) 14:01:15.30
>>144
逆に聞きたいんだけど、どこでcloseする必要があるかを検討せずに
プログラムを作ることがあるの?
0146デフォルトの名無しさん2013/04/12(金) 14:07:59.75
あれれ?言ってる事が違って来てますね
0147デフォルトの名無しさん2013/04/12(金) 14:10:41.21
なんで?
明示的にcloseする必要があるか検討せずに分かるの?
どうでもいいならしなくてもいいと言ってるんだけど。
0148デフォルトの名無しさん2013/04/12(金) 14:50:53.20
動作中にハングアップするだの停電になるだので
ファイル吹っ飛ばしたことが無い幸せな人なんだろうなぁ
0149デフォルトの名無しさん2013/04/12(金) 15:57:19.48
UPSも付けないアホが安全性について語ってるぞ
0150デフォルトの名無しさん2013/04/12(金) 15:58:42.78
closeしたからといって停電とかに対して安全な状態になるわけじゃないからね
0151デフォルトの名無しさん2013/04/12(金) 16:19:43.22
>closeしたからといって停電とかに対して安全な状態になるわけじゃないからね
0152デフォルトの名無しさん2013/04/12(金) 16:26:50.93
ハングアップするプログラムをリリースしちゃうような人の頭の中はこんなもん
0153デフォルトの名無しさん2013/04/12(金) 16:32:39.99
ここの人たちはスレ違いな話をしてる間だけは幸せなんだろうな、、、
0154デフォルトの名無しさん2013/04/12(金) 16:32:56.93
11スレでこんなネタ話されてもなー
使い回すならともかく、使用しなくなった時点で閉じるのが普通じゃない?
0155デフォルトの名無しさん2013/04/12(金) 17:13:16.05
やっぱり言語って
みんなが入り込んで規格決めると肥大化してクソになるんだな
C++は完全に終わったわ
0156デフォルトの名無しさん2013/04/12(金) 17:17:53.43
終わってない言語なんてあるの?
0157デフォルトの名無しさん2013/04/12(金) 17:21:40.13
実際closeなんてファイルディスクリプタの回収ぐらいの意味しかないぜ
ディスクにきっちり書き込まれることを保障したいならそれ用の関数呼んどけ
0158デフォルトの名無しさん2013/04/12(金) 17:52:49.40
日本語の話者は大概がクソ以下
0159デフォルトの名無しさん2013/04/12(金) 19:55:52.48
>なんで?
>明示的にcloseする必要があるか検討せずに分かるの?
>どうでもいいならしなくてもいいと言ってるんだけど。

↑キチガイage
0160デフォルトの名無しさん2013/04/12(金) 20:24:45.93
この話題何回目だよ
「解法に失敗しうるものでRAIIすんな」でFAだろ
0161デフォルトの名無しさん2013/04/12(金) 20:39:01.60
そう言ってるのはお前だけ
自分が正しいと思うなら少数派の異常者と思われても自分だけでそれを貫けばいい
自分の言うことが正しいとみんなに認められるまでことあるごとに話題にしようとするな
0162デフォルトの名無しさん2013/04/12(金) 20:44:01.32
貫けばいいとかアホかと
納得がいく結論が出ないソフトウェア工学ならいらない
0163デフォルトの名無しさん2013/04/12(金) 21:20:30.94
>>160
それだと大抵のリソースはRAIIで扱えなくなって
やっぱC++ウンコじゃんって話になるので
信者にとって非常に都合が悪い
0164デフォルトの名無しさん2013/04/12(金) 21:35:32.25
ヒープは扱えるんだからそれで十分だろ
0165デフォルトの名無しさん2013/04/12(金) 21:43:56.35
つか、close だって失敗してもどうしようもないよな。
0166デフォルトの名無しさん2013/04/12(金) 21:44:04.17
扱えない大抵のリソースってなんだよ
0167デフォルトの名無しさん2013/04/12(金) 21:52:43.31
解放時エラーは全て握りつぶす
その覚悟無き軟弱者にRAIIは扱えない
0168デフォルトの名無しさん2013/04/12(金) 22:07:41.43
FAはこっち
「明示的解放が必要なリソースはRAIIで扱え
解法の失敗を考慮する必要があるならデストラクタでの解法はミスや異常時の保険としておき
デストラクタによらない解法処理を自前で行え」
0169デフォルトの名無しさん2013/04/12(金) 22:36:28.34
>>166
newとmallocで取ったヒープ以外のほぼ全て
0170デフォルトの名無しさん2013/04/12(金) 22:51:26.45
>>165
それがおかしい。
closeに失敗したのだからエラー処理としてロールバック処理をするべきだろう。
ファイルの中身が壊れていてもかまわないというなら話は別だけどな。

closeをチェックする癖付けとかないと、NFS扱い始めたとき、原意不明の障害調査やる羽目になるぞ。
ローカルディスクならほとんど発生しないと思うけど。。。
0171デフォルトの名無しさん2013/04/12(金) 23:05:55.37
>>170
おかしいかどうかはアプリケーション次第だよ。
君のイメージは書き出しみたいだけど、読み出しなら失敗自体が稀だし、失敗したところで別に困らないし、何もできない。
0172デフォルトの名無しさん2013/04/12(金) 23:40:59.49
どうしてreadだけに絞った?
おかしいのは君の姑息な心理操作の方だよ
0173デフォルトの名無しさん2013/04/12(金) 23:48:03.97
>>169
ファイルの他に何があるの?ほぼ全てって言うぐらいなら2,3個軽く挙げられるよね?
0174デフォルトの名無しさん2013/04/13(土) 03:33:10.75
ストリーム
データベースコネクション
スレッド
プロセス
ハンドル
0175デフォルトの名無しさん2013/04/13(土) 06:52:23.77
>>171
表現の違いか。
それはなにもできないのじゃなく、する必要がないだけ。
0176デフォルトの名無しさん2013/04/13(土) 10:57:55.48
する必要がないはしなくて良いにはならない
表現の違いという落としどころに落としたいんですね可哀想ですね
0177デフォルトの名無しさん2013/04/13(土) 12:30:24.27
まぁ今時のOSならプロセスが正常終了すればたいてい後片付けしてくれる
正常終了すれば
0178デフォルトの名無しさん2013/04/13(土) 13:03:03.02
突然話飛ばした?
0179デフォルトの名無しさん2013/04/13(土) 13:09:09.09
面倒くさいから、ハードウエアリセット
えぇ、うちの会社の数千万円の装置です
0180デフォルトの名無しさん2013/04/13(土) 13:28:52.88
億行ってる装置でも再起動させるんだから全然問題ないな
0181デフォルトの名無しさん2013/04/13(土) 13:37:51.63
無能な開発のケツを運用が拭けばいいだけの話だな
0182デフォルトの名無しさん2013/04/13(土) 15:35:08.93
↑まともな開発を不可能にする無能すぎる営業が背伸びしてPG板に来ちゃいました?
0183デフォルトの名無しさん2013/04/13(土) 16:42:33.94
発狂パーティーを開催いたします
0184デフォルトの名無しさん2013/04/13(土) 20:28:25.02
C++で常時起動型のサーバープログラムを
書いてはいけないんですねわかります。
だからプロセス終了とか言っちゃうんですねプ
0185デフォルトの名無しさん2013/04/13(土) 20:31:13.86
大丈夫だよ週次リブート()とかするから
0186デフォルトの名無しさん2013/04/13(土) 20:58:59.50
linux daemon全否定w
0187デフォルトの名無しさん2013/04/13(土) 21:54:55.64
ここの人たち技術ないから
0188デフォルトの名無しさん2013/04/13(土) 22:16:51.32
RAIIに技術?
0189デフォルトの名無しさん2013/04/14(日) 00:04:39.90
なんでRAII限定にしたのか知らないけど常時起動型のサーバープログラムを落とす技術
0190デフォルトの名無しさん2013/04/14(日) 10:36:28.81
C系はメモリ破壊の可能性を否定できないからな。
キチンと試験して稼働実績の有るプログラムでも
新人が加えた一文字のスペルミスで
既存部分のメモリが破壊されて火を噴くから、
プロセス分割したり短時間で終了するような
ウンコ設計にしないと、
精神論だけでは品質を保てないウンコ言語。
0191デフォルトの名無しさん2013/04/14(日) 10:43:56.90
使えん新人100人より
優秀な奴5人の方が生産性高いと思うぞ
0192デフォルトの名無しさん2013/04/14(日) 11:14:05.85
最初はみんな新人さ。
0193デフォルトの名無しさん2013/04/14(日) 11:31:10.84
"C++0x Concepts Should Stay Dead" -- Bjarne Stroustrup
0194デフォルトの名無しさん2013/04/14(日) 11:53:28.15
conceptがC++がプログラミング言語の世界に出来る最大の貢献だと思うがな。
generic programmingの集大成だろう。
0195デフォルトの名無しさん2013/04/14(日) 12:45:31.75
>conceptがC++がプログラミング言語の世界に出来る最大の貢献

Javaのインターフェースの劣化版コピーだと
思っとりました。
0196デフォルトの名無しさん2013/04/14(日) 12:50:27.31
>>195
もしかしてtraitsも知らないの?
traitsの時点でJavaのinterfaceとはぜんぜん違うだろ。
0197デフォルトの名無しさん2013/04/14(日) 12:51:27.26
えっ?
0198デフォルトの名無しさん2013/04/14(日) 12:52:01.85
>>195の意味がわからん
0199デフォルトの名無しさん2013/04/14(日) 13:03:59.14
寝言だろ
気にするな
0200デフォルトの名無しさん2013/04/14(日) 13:15:39.44
Javaは同じSunにいたSelfグループのtraitとmixinに対する成果をうまく取り入れられてない。
0201デフォルトの名無しさん2013/04/14(日) 13:30:26.27
もしかしてConceptsって単語をconceptのことだと勘違いした?
0202デフォルトの名無しさん2013/04/14(日) 13:37:34.91
inheritanceとかinterfaceとかtraitとかmixinとかDIとかbindingsとか
区別がつかない
wikipediaからもってきたflavors、roles、abstract classも追加

スレッドやら関数回りも同じような
thread、fiber、coroutine、Light-weight process、microthread、protothread

区別する程有用な作用があるのか
俺が何か間違ってる事は正しいんだけど
0203デフォルトの名無しさん2013/04/14(日) 13:41:47.00
インヘリタンスは分かれよ。
0204デフォルトの名無しさん2013/04/14(日) 14:06:37.40
むしろインヘリタンスと何の区別が付かんのだろw
0205デフォルトの名無しさん2013/04/14(日) 14:14:43.39
バカっぽいんだけど妙に面白い事言うやつっているよね
0206デフォルトの名無しさん2013/04/14(日) 14:41:30.99
C++のtraitsはクラス書かないでも
traitsをユーザ定義して型をどうマッチさせるか記述できる。
0207デフォルトの名無しさん2013/04/14(日) 15:11:36.28
C++0x concept には死んで貰って、concept lite に生まれ変わるという話。
0208デフォルトの名無しさん2013/04/14(日) 15:20:29.09
concept liteはあくまで繋ぎでしょ
0209デフォルトの名無しさん2013/04/14(日) 15:59:41.12
>>208
その辺も含めて >>193 の表題の文章に書いてある
0210デフォルトの名無しさん2013/04/14(日) 16:43:03.96
早く当初の構想どおりの完全版conceptが
現実にならないものかね。
0211デフォルトの名無しさん2013/04/14(日) 16:45:05.56
またtemplateでの黒魔術が増えるの?
0212デフォルトの名無しさん2013/04/14(日) 17:42:13.50
>>211
template 周りのコンパイルエラーで出てくる謎の暗号を解読しなくてよくなる
0213デフォルトの名無しさん2013/04/14(日) 17:59:08.71
ほう
0214デフォルトの名無しさん2013/04/14(日) 23:09:59.88
日本語の解説本って、いつになったら出るの?
0215デフォルトの名無しさん2013/04/15(月) 01:08:22.12
Boost C++ Libraries プログラミング 第3版に期待するべ
0216デフォルトの名無しさん2013/04/15(月) 01:24:13.37
それは11の解説書としては使い物にならないだろ
0217デフォルトの名無しさん2013/04/15(月) 01:33:38.91
解説なんてその辺の解説サイトでいいでしょ。
仕様を正しく理解したいなら原文しかないぜよ。
0218デフォルトの名無しさん2013/04/15(月) 01:38:06.83
疑問点があればここではなく、Stack Overflow で質問するといい。
0219デフォルトの名無しさん2013/04/15(月) 01:53:20.81
Stack Overflow質問文テンプレ
「初心者です(_*_)。右辺値参照って何ですかぁ?
 調べたけどさっぱりですぅ☆
 エロい人宜しく(^^)/
 あ、答えられない人のレスはお断りです(プゲラ
0220デフォルトの名無しさん2013/04/15(月) 02:22:19.91
>>219
はっはっは。元気があっていいね。頑張るんだよ。
0221デフォルトの名無しさん2013/04/15(月) 02:27:33.28
日本語じゃないので☆1つ
0222デフォルトの名無しさん2013/04/16(火) 00:18:44.22
>>191
しかしその優秀な人たちは管理業務にまわされます。
0223デフォルトの名無しさん2013/04/16(火) 01:25:53.28
日本のキャリアパスにシニアプログラマってあまりないからな
0224デフォルトの名無しさん2013/04/16(火) 02:52:46.46
未経験の若いプログラマ雇って炎上みたいなのばかり
0225デフォルトの名無しさん2013/04/16(火) 03:24:29.66
>>202
クックック... 我はinheritanceの使い手にして最凶のinterface、
我が道を阻むことなどたとえabstract classでもできはせぬわ
このスレの住人供よ、Light-weight processなど捨てて我が軍門に下るがよいわ

俺もよくわからんけど、多分このへんの単語考えた外人は中二病なんだろうと思うよ。
「俺の考えた呼び方の方がかっけーし」見たいな感じで
クラウドとかも内輪ではめっちゃ受けてるのかもしれん
0226デフォルトの名無しさん2013/04/16(火) 23:52:19.27
>>224
出来るヤツだけ集めても
なぜかうまくいかないのが
プロジェクトと言うもの・・・
0227デフォルトの名無しさん2013/04/17(水) 00:35:42.00
まとめるとプロジェクトは失敗するもの
0228デフォルトの名無しさん2013/04/17(水) 00:59:50.26
JISのC++11って何巻目になるん?
1冊1万前後だから結構な出費だな
0229デフォルトの名無しさん2013/04/17(水) 07:30:48.76
>>227
まとめすぎwww
0230デフォルトの名無しさん2013/04/17(水) 08:35:27.55
COM(Direct3D11)を使ってプログラミングしてて、
インターフェースの解放(Release)を忘れないように、
shared_ptrを使おうとしてるんだけど、壁にぶつかった。

ある関数はインターフェースのポインタを引数に取る。
この場合は以下で大丈夫。

shared_ptr<ID3D11xxx> pD3D11xxx;

・・・

Func( pD3D11xxx.get() );

しかし、関数の中にはインターフェースのダブルポインタ(ID3D11xxx* const* pp)を引数に取るものがあって、
以下のように書いても「'&'に左辺値がない」と言ってコンパイラに怒られる。

Func( &pD3D11xxx.get() );

どうしたものかと、検索をかけると、
shared_ptrではなくて自作っぽいスマートポインタを作って、
pD3D11xxx.GetAddressOf()みたいなメソッドを利用して引数に与えていた。

std::shared_ptrでは上記みたいな関数に渡せないの??
02312302013/04/17(水) 08:39:56.70
ID3D11xxx* p = pD3D11xxx.get();
Func( &p );

ってしたらコンパイルは通ったけど、
もっとエレガントにできないかなぁ。
0232デフォルトの名無しさん2013/04/17(水) 08:41:29.81
CComPtrを使えばよろし
02332302013/04/17(水) 08:59:24.88
>>232
CComPtrなら大丈夫なんですね。
しかし、できればATLに依存したくないんです。
0234デフォルトの名無しさん2013/04/17(水) 09:04:19.90
ポインタのポインタを受け取るってことはポインタ自体の変更が行われるわけで
ID3D11xxx* p;
Func(&p);
pD3D11xxx.reset(p);
こんな風にするしかないだろう
02352302013/04/17(水) 09:20:06.70
>>234
ありがとう!
ああ、そうか。
面倒くさい。死にそう・・・。

調べてみると、どうもATLとは違うMicrosoft::WRL::ComPtrというのがあるみたい。
http://msdn.microsoft.com/ja-jp/library/vstudio/br230382.aspx

なぜATLがイヤかというと、
まず開発がVC++のExpress(無料)バージョンが使えないこと。
自分はPro持ってるけど、他人にプロジェクトを渡すことがあって、
できれば相手にProを強要したくない。

あと、コンパイルした.exeを配布する際、
ATLを使用していると、ランタイムのインストールをユーザーに強要することになる。

WRLだとどうなんだろうか?
開発的にはExpress(for Windows8だけど)で使えることが調べて分かった。
あとは.exeを配布するときにユーザーがWRLのための追加インストールが必要か。
こういうのってどうやって調べたらいいの?
DependencyWalkerとかでチェックしかないかな。
0236デフォルトの名無しさん2013/04/17(水) 09:27:56.32
>>235
ATLは古いのならWDK7.1辺りに入ってたりする
CComPtrはテンプレートなんだからランタイムも糞もないぞ
0237デフォルトの名無しさん2013/04/17(水) 09:32:01.68
WTL?
02382302013/04/17(水) 09:59:29.69
早速WRLのComPtr使ってみた。
余計なコードが激減した。
感動した。
さっきまで悩んでたのがあほみたいだ。
もう他人のことなど知るか(おい)

>>236
ありがとう!
安心した。
02392302013/04/17(水) 10:07:14.80
少し気になったのは、
同じダブルポインタ引数でも、
Create系では&pって渡せるのに、
他の関数ではp.GetAddressOf()で渡さないといけないこと。
後者を&pで渡したらぶっ壊れた。

まぁ、Create系もGetAddressOf()でいけるから、
これで統一しておくほうが無難かな。
0240デフォルトの名無しさん2013/04/17(水) 10:10:33.16
またひとりC++/CXの魔境に旅立ってしまったか
0241デフォルトの名無しさん2013/04/17(水) 10:14:10.97
ttp://msdn.microsoft.com/ja-jp/library/vstudio/br230430.aspx
日本語おかしいがちゃんと違いが書いてあるじゃない
02422302013/04/17(水) 10:22:51.60
>>241
あ、すんません・・・。
ああ、そういうことか。
参照カウントのこと意識せんといかんのね。

しかし、Create系以外でダブルポインタを引数に取るとか、
ややこしいからやめてくんないかなぁ・・・。
0243デフォルトの名無しさん2013/04/20(土) 13:36:39.41
普通は戻り値使うよね
0244デフォルトの名無しさん2013/04/21(日) 13:15:09.07
C++11のテンプレートの実体化のことで疑問なんですが

extern templateと、それをtypedefしたものを同時に使った場合
extern template Temp<T>; の直後に typedef Temp<T> Type; とすると実体化されてしまいますか?

もう一つ、以下のようにusingにtemplateを付けない場合、実体化されますか?
using Type = Temp<T>;
0245デフォルトの名無しさん2013/04/21(日) 16:04:03.90
extern template とか考えなくても、
typedef しただけじゃメンバ関数は実体化しないだろ?
ならそういうことだ。

// a.h
template <class T> struct Temp { void f(); };

// a.cpp
#include "a.h"
template <class T> Temp<T>::f(){}
typedef Temp<T> Type; // これじゃ実体化しない

// main.cpp
#include "a.h"
int main(){ Temp<T>f(); } // 実体化してないので使えない
0246デフォルトの名無しさん2013/04/21(日) 16:34:23.46
さわるなよ
0247デフォルトの名無しさん2013/04/21(日) 18:59:40.33
?
0248デフォルトの名無しさん2013/04/23(火) 22:43:29.02
触らないで触らないで垢が付くから
0249デフォルトの名無しさん2013/04/24(水) 00:18:50.88
やめてよして触らないで垢が付くから
だったな俺の地域では
0250デフォルトの名無しさん2013/04/24(水) 08:00:21.15
ここは加齢臭漂うスレですね
0251デフォルトの名無しさん2013/04/24(水) 19:22:29.66
>>249
うちもそう。

あんたなんてキライよ♪顔も見たくない、ふん!
0252デフォルトの名無しさん2013/04/25(木) 13:38:24.46
MicrosoftがClangに興味を示しているらしいですね
VCもClang/LLVMに切り替えるつもりなんだろか
0253デフォルトの名無しさん2013/04/25(木) 13:58:55.30
半年間(場合により延長有)なんて雇用で切り替えられるか?
0254デフォルトの名無しさん2013/04/25(木) 21:49:05.68
もしそうだとしてもVC++の独自仕様・拡張を維持したいだろうから
フロントエンドはClangでなく全く独自のものかClangの改造版になるだろう
そのうえでバックエンドをLLVMに切り替えるというのならありえなくはないかな
0255デフォルトの名無しさん2013/04/25(木) 22:06:24.13
Linuxカーネルもgccを独自に拡張して使ってるせいで
未だclangでコンパイルできないときいた
0256デフォルトの名無しさん2013/04/25(木) 23:18:30.60
extension will never be supported
0257デフォルトの名無しさん2013/04/25(木) 23:25:21.40
何で今更C言語に戻るの?
0258デフォルトの名無しさん2013/04/25(木) 23:32:14.55
LinuxのデバイスドライバってC固定?
0259デフォルトの名無しさん2013/04/26(金) 00:16:46.60
C#に対するMonoみたいないやつを、
Clangで作るって公開するってことならありうるかも。
C#懼Mono
C++/CLI懼Clang/CLI
0260デフォルトの名無しさん2013/04/26(金) 00:57:57.63
mono-projectでも、Clang C++/CLIをposix環境にポートするためのコミッター募集してる

http://www.mono-project.com/StudentProjects#Tools_and_Compilers
0261デフォルトの名無しさん2013/04/28(日) 12:05:43.36
まだ一人で書いてるんだな。
どこにそんな時間があるのか...

The C++ Programming Language, 4th Edition [Paperback]
http://www.amazon.com/The-Programming-Language-4th-Edition/dp/0321563840/
Publication Date: May 20, 2013
0262デフォルトの名無しさん2013/04/28(日) 13:37:28.20
http://www.amazon.com/dp/0321563840/
http://www.amazon.co.jp/dp/0321563840/

時価で$51.95が5099円
$25以上で送料無料でこの差額の2500円はどっからくるのだ

c++11のリファレンス期待でUSの方でポチッてるがな
0263デフォルトの名無しさん2013/04/28(日) 13:55:49.58
俺のポッケに入る
0264デフォルトの名無しさん2013/04/28(日) 14:17:07.04
個人で輸入すると関税も個人で払うことになるから
かえって高くなるかも試練
0265デフォルトの名無しさん2013/04/28(日) 20:24:40.11
1300ページか
日本語版は1万円くらいになりそうだな
0266デフォルトの名無しさん2013/04/28(日) 20:29:58.63
英語版がPDFで多量に流出しちゃってるんだが・・・

でも日本語版でないと読めないしなあ早く出版してくれ
0267デフォルトの名無しさん2013/04/28(日) 20:36:58.05
おまえら禿の妄想本なんかでなく
ちゃんとisoの規格嫁よ
0268デフォルトの名無しさん2013/04/28(日) 20:37:50.11
めんどい
0269デフォルトの名無しさん2013/04/28(日) 21:51:19.53
JISは無料なのでJIS待ち
0270デフォルトの名無しさん2013/04/28(日) 21:55:11.09
えっ、JISってただなの?
0271デフォルトの名無しさん2013/04/28(日) 22:11:30.19
見るだけならね
0272デフォルトの名無しさん2013/04/28(日) 22:23:54.54
見る以外の使い道ないだろ
0273はちみつ餃子 ◆8X2XSCHEME 2013/04/28(日) 22:35:08.67
>>
JISC のサイトで見れるよ。
http://www.jisc.go.jp/

但し、ウェブで閲覧することが出来るだけで、保存や印刷は出来ない。
それが必要なら買ってくれってことになってる。
実際はちょっと小細工すれば保存も印刷も出来るけど。

日本の法律だと公文書には著作権が発生しないことになってて、
法的に見れば JIS 規格は公文書であると考えられている (異論はある) んだけど、
ISO の規約では規格に著作権があることになってるのでそれに批准していることになってる日本としては著作権を認めなければならず、
間を取って閲覧だけ無料でという微妙な状況。
(ISO は民間団体なので国際条約のような強制力はなく、厳密に言えば日本の法律をそのまま適用してかまわない。)

実際のところ、規格書って高すぎだよなー。
10ページもないようなペラッペラの冊子でも何千円も取るんだぜ。
0274デフォルトの名無しさん2013/04/28(日) 22:40:21.02
JISは誤訳あるから注意。
0275デフォルトの名無しさん2013/04/28(日) 22:50:19.30
規格書はISOの運営資金源だし払うのは普通企業だから仕方ないといえば仕方ない
0276デフォルトの名無しさん2013/04/28(日) 22:56:21.66
>>273
> 但し、ウェブで閲覧することが出来るだけで、保存や印刷は出来ない。

この部分が不思議だよな。
閲覧できるということはどこかには保存されている。
どこにどう保存するかはUAの設計次第だし、
プログラマ視点で考えると「どうするかは、要は自分の考え次第」
0277デフォルトの名無しさん2013/04/28(日) 22:59:58.44
>>276
今時の電子出版も分からないのですね?
凄いプログラマがいるもんだな。
0278デフォルトの名無しさん2013/04/28(日) 23:01:41.90
>>277
webでPDF公開している形の電子出版なんかあるの?
0279デフォルトの名無しさん2013/04/28(日) 23:16:48.26
Adobe JavaScriptを使用している唯一の糞PDF
0280デフォルトの名無しさん2013/04/28(日) 23:48:16.24
規格の後ろ盾が必要ない人はISOのdraftを見ればよい。
無料でダウンロードできる。
0281デフォルトの名無しさん2013/04/29(月) 05:19:43.22
後ろ盾の必要ない人はググってりゃいい。
難解な規格を読み解くのは人生の時間の無駄。
自己満オナニーしたい人だけご購入ください。
0282デフォルトの名無しさん2013/04/29(月) 05:37:09.54
このご時世にc++11使ってる人はみんなオナニスト
0283デフォルトの名無しさん2013/04/29(月) 07:53:40.60
そんなに褒めるなよ照れるだろ
0284デフォルトの名無しさん2013/04/29(月) 08:01:05.25
右辺値山椒で1ヶ月ぐらいは抜ける
0285デフォルトの名無しさん2013/04/29(月) 08:10:54.65
おまいら変態すぎてワロタw
0286デフォルトの名無しさん2013/04/29(月) 09:58:06.98
スレ違いだが。

>273
>日本の法律だと公文書には著作権が発生しないことになってて
そうだっけ?
13条は法令とかでこれを公文書全体ととるのは拡大解釈じゃないの?
米国著作権法だと連邦政府職員の職務による著作物には
著作権が発生しないことになってるけど。
0287デフォルトの名無しさん2013/04/29(月) 10:33:03.77
http://cpplover.blogspot.jp/2010/09/aggregate.html

別件で検索してて見付けたんだけど、
この人、C++11の標準化委員会のメンバーになるような人なのに仕事がないんだって・・・。
どういうことなの??
0288デフォルトの名無しさん2013/04/29(月) 11:05:58.76
委員会は飯の種にはならんだろうし
オナニー言語の仕様を議論できるのは
相当なアスぺ脳基地外である確率が高い
0289デフォルトの名無しさん2013/04/29(月) 11:23:39.04
天才とキチガイは紙一重ってか・・・。
何か報われないね・・・。
0290デフォルトの名無しさん2013/04/29(月) 11:39:39.23
自己紹介の書き出しが
「自由ソフトウェア主義者」
ってなってる痛い状況だしね
0291デフォルトの名無しさん2013/04/29(月) 11:50:02.79
あの人は自由自由言ってて気持ち悪い
0292デフォルトの名無しさん2013/04/29(月) 11:51:43.94
とか言いつつこのスレ常駐してるやつはみんな見てるんだろそこ
0293デフォルトの名無しさん2013/04/29(月) 11:52:36.50
そりゃ見ないと気持ち悪いかどうかわからんからな
0294デフォルトの名無しさん2013/04/29(月) 12:10:23.91
こんな小者知らんがな。きんもー☆
0295デフォルトの名無しさん2013/04/29(月) 12:37:55.64
こういう変な思想ってヒッピー辺りから受け継いだものなのか?
ストールマンとか、正直見ていて怖いぞ。
0296デフォルトの名無しさん2013/04/29(月) 12:54:23.73
江添さんは思想関係ないときの記事はわかりやすい
思想が絡むと色々めんどい 宗教家の典型
0297デフォルトの名無しさん2013/04/29(月) 12:54:30.32
空飛ぶスパゲッティー教信者だしな
0298デフォルトの名無しさん2013/04/29(月) 13:02:23.07
空飛ぶスパゲッティ・モンスター教な
昔これの本買ったわ
ラーメン
0299デフォルトの名無しさん2013/04/29(月) 14:05:54.42
まあ面倒な人じゃなければ普通にバリバリ仕事してるだろうな
しかし面倒な人じゃなければC++にあそこまで入れ込んでないとも言える
0300デフォルトの名無しさん2013/04/29(月) 15:23:24.72
日本の標準化委員会の人もあれだよな掲示板の発言みてると性格きつい
0301デフォルトの名無しさん2013/04/29(月) 15:26:01.62
委員にとってアスぺは褒め言葉なのであります
0302デフォルトの名無しさん2013/04/29(月) 15:28:19.70
誰?
0303デフォルトの名無しさん2013/04/29(月) 15:32:47.94
http://cpplover.blogspot.jp/

ここだろ?お前らにここに書いてある内容を超える記事が毎日書けるのか?
0304デフォルトの名無しさん2013/04/29(月) 15:35:06.46
わんくまもそうだな
まあ俺は好きだけど
0305デフォルトの名無しさん2013/04/29(月) 15:41:27.33
もうライターになればいいんじゃね?
0306デフォルトの名無しさん2013/04/29(月) 15:47:40.25
化委員ライター アスぺス
0307デフォルトの名無しさん2013/04/29(月) 15:52:52.88
大学教授のほうがよっぽどアスペなのに、社会的地位が高いのがムカつくぜ。
0308デフォルトの名無しさん2013/04/29(月) 16:01:44.33
アスぺのくせに自分の価値を主張するとは生意気だな
アスぺは所詮、特定領域で役に立つこともたまにある使い捨てのコマ
0309デフォルトの名無しさん2013/04/29(月) 16:03:19.02
それを言ったら会長以外全員使い捨てのコマ
0310デフォルトの名無しさん2013/04/29(月) 16:08:59.88
人間は所詮、猫の下僕
0311デフォルトの名無しさん2013/04/29(月) 17:22:37.79
猫でも分かるC++14
0312デフォルトの名無しさん2013/04/29(月) 17:29:32.79
C++14にもなるとPL/Iを遥かに超えるかつてない言語規模になるなあ
まあ現状でももう超えてるだろうけどさ
STLが大き過ぎ
0313デフォルトの名無しさん2013/04/29(月) 17:39:08.03
さすがに2013年なんだし&#x2028;外部ライブラリの利用はrubygemsやcpanみたいな、LL系のやつ見習ってほしい
Goにはそういう機構ある
0314デフォルトの名無しさん2013/04/29(月) 18:51:41.38
江添はさっさと本出して寄付金の用途公開しろよ
0315デフォルトの名無しさん2013/04/29(月) 18:53:26.64
そろそろモジュールシステムをどうにかしてほしい
0316デフォルトの名無しさん2013/04/29(月) 19:01:45.11
c++14ってそんなにすごいんですか?
0317デフォルトの名無しさん2013/04/29(月) 19:11:57.35
optionalさんが入るらしいので楽しみ
0318デフォルトの名無しさん2013/04/29(月) 19:20:02.04
おまいら11の前でもそれいえんの
0319デフォルトの名無しさん2013/04/29(月) 19:25:42.92
そろそろスレタイからC++11外していいと思う
0320デフォルトの名無しさん2013/04/29(月) 22:11:24.91
c++スレも11が当たり前になりつつあるしね
本スレはアスぺの集う自慰スレでおk
0321デフォルトの名無しさん2013/04/29(月) 22:45:10.02
モジュールとABIと静的リフレクションを入れてくれ
0322デフォルトの名無しさん2013/04/29(月) 23:46:11.47
何を入れろじゃなくて、どの問題を解決すべきなのかで言ってほしいな。
0323デフォルトの名無しさん2013/04/29(月) 23:53:45.13
オナニーするのに理由が必要なのかよ
実用を考えたらこれ以上肥大化させないで欲しいものだ
0324デフォルトの名無しさん2013/04/29(月) 23:58:40.67
でも最終的にboostまで入れるんじゃないの?
0325デフォルトの名無しさん2013/04/30(火) 00:54:08.38
零オーバーヘッドの法則があるから使わない機能が増えても問題ないな
0326デフォルトの名無しさん2013/05/06(月) 21:08:02.41
おいテンプレートが追加されたぞ!
 →ゼロオーバーヘッドだから関係ないね
おい右辺値参照で効率化だって!
 →ゼロオーバーヘッドだから関係ないね
おいautoでイテレーターがすっきりだって!
 →ゼロオーバーヘッドだから関係ないね
おいマルチスレッドが標準化されたぞ!
 →ゼロオーバーヘッドだから関係ないね
おいラムダでコードの局所性があがりそうだ!
 →ゼロオーバーヘッドだから関係ないね
おいvectorの要素が連続だって!
 →ゼロオーバーヘッドだから関係ないね
おいconstexprで定数表現の範囲が広がぞ!
 →ゼロオーバーヘッドだから関係ないね
0327デフォルトの名無しさん2013/05/06(月) 21:48:42.98
ゼロオーバヘッドってなんかかっこいいなw
0328デフォルトの名無しさん2013/05/06(月) 22:15:02.27
ゼロオーバーヘッドさんの
確執っぷりが漢らしい
0329デフォルトの名無しさん2013/05/06(月) 22:21:22.16
言い換えると「嫌なら使うな」
0330デフォルトの名無しさん2013/05/07(火) 07:39:03.20
まぁそんなことばっか言ってっからこんな事になった訳ですが
0331デフォルトの名無しさん2013/05/07(火) 12:39:52.50
こんなことってどんなこと?
0332デフォルトの名無しさん2013/05/07(火) 13:00:46.42
ミドルウェアでの圧倒的なシェアじゃない?
0333デフォルトの名無しさん2013/05/08(水) 00:48:45.38
ゼロオーバーヘッド気に入った
これからリアルでどんどん使ってく
0334デフォルトの名無しさん2013/05/08(水) 02:13:13.53
でもリアルにはよくいるよね。
Javaが5にメジャーバージョンアップだって!
 →既存コードはそのまま動くから関係ないね
俺らの年金が確定拠出になったぞ!
 →ゼロオーバーヘッドだから関係ないね
お前そろそろ結婚しないと
 →ゼロオーバーヘッドだから関係ないね
おい松葉杖の人が乗ってきたぞ
 →ゼロオーバーヘッドだから関係ないね
0335デフォルトの名無しさん2013/05/08(水) 10:19:43.53
センス無いな
0336デフォルトの名無しさん2013/05/08(水) 21:19:10.91
何書いてようがスルーすればゼロオーバーヘッドだから問題ない
0337デフォルトの名無しさん2013/05/10(金) 00:12:04.84
http://www.open-std.org/jtc1/sc22/wg21/
News 2013-05-09: The deadline for the next mailing is 2013-06-28
News 2013-05-09: The 2013-05 mailing is available
News 2013-05-09: The C++ Standard Core Language Issues List (Revision 83) is available
0338デフォルトの名無しさん2013/05/11(土) 07:40:29.30
日本語でおk
0339デフォルトの名無しさん2013/05/14(火) 09:36:12.41
粒度の小さいループとかTPLのように並列化する手段ってないの?
0340デフォルトの名無しさん2013/05/15(水) 18:18:42.54
無い
0341デフォルトの名無しさん2013/05/26(日) 09:38:44.71
http://www.open-std.org/jtc1/sc22/wg21/
News 2013-05-24: The CD for the new C++ standard is released
News 2013-05-24: New ub reflector and archive. for undefined behaviour study group.
0342デフォルトの名無しさん2013/05/26(日) 09:41:44.54
日本語でおk
0343デフォルトの名無しさん2013/05/26(日) 09:47:43.87
そんな糞文章の作るより
PDFみたいな糞に代わるまっとうな
ファイルフォーマットでも作れよ
0344デフォルトの名無しさん2013/05/26(日) 10:16:14.21
本の虫の人おつ
0345デフォルトの名無しさん2013/05/26(日) 10:44:06.81
pdfってほんと糞だよな
0346デフォルトの名無しさん2013/05/26(日) 10:58:41.52
PDFはクソだけど本の虫のPDF叩きネタは寒い
後で本人が見返すときに恥ずかしくなるだろう
0347デフォルトの名無しさん2013/05/26(日) 11:06:49.23
PlainTextFormatは糞
いつまでPlainTextFormatでプログラミングするんだよ
0348デフォルトの名無しさん2013/05/26(日) 11:11:11.62
>>344
ISでなくドラフトだろ?
成果でなく努力を労う内輪ネタを
2ちゃんでやるなハゲ
0349デフォルトの名無しさん2013/05/26(日) 11:17:03.97
>>347
http://www.stroustrup.com/Software-for-infrastructure.pdf
> WHY WORRY ABOUT CODE?
> Do we need traditional programmers and traditional programs?
> Can’t we just express what we want in some high-level manner,
> such as pictures, diagrams, high-level specification languages,
> formalized English text, or mathematical equations, and
> use code-generation tools to provide compact data structures
> and fast code? ...
0350デフォルトの名無しさん2013/05/26(日) 11:18:06.55
> ... I suspect that we can make progress on many fronts, but for
> the next 10 years or so, relying on well-structured, type-rich
> source code is our best bet by far.
0351デフォルトの名無しさん2013/05/26(日) 11:20:07.97
ドラフトがないと、過去のドラフトとの diff を取って頭をアップデートすることができない
0352デフォルトの名無しさん2013/05/26(日) 11:26:05.18
今度から全てのレスには「江添さんチーッス!」を付けよう

>>341,349
江添さんチーッス!
0353デフォルトの名無しさん2013/05/26(日) 14:14:16.42
つまり
>>342-348 = >>352
ということか
0354デフォルトの名無しさん2013/05/26(日) 14:20:57.92
>>353
江添さんチーッス!
0355デフォルトの名無しさん2013/05/26(日) 14:33:01.73
PDFは閲覧ソフトの操作が糞。
作るソフトが有償なのが糞。
時々動き出すAdobeARM.exeとかいう
アップデートウイルスが糞。
フォーマットはどうでもいいや。
0356デフォルトの名無しさん2013/05/26(日) 15:31:38.38
盲目的にAdobeのソフトしか使わない人か
0357デフォルトの名無しさん2013/05/26(日) 15:38:48.86
>>356
江添さんチーッス
0358デフォルトの名無しさん2013/05/26(日) 15:57:49.74
Office で文書を作って
受け渡し・公開するときは PDFでっていう規則があるんだろ
0359デフォルトの名無しさん2013/05/26(日) 15:57:51.42
Adobeなんて月5000円で使い放題じゃん
0360デフォルトの名無しさん2013/05/26(日) 16:16:06.02
日本規格協会の販売するISO規格PDFは
見出しが付いていないので糞
日本規格協会の販売するJIS規格PDFはよく
テキスト検索できないので糞
0361デフォルトの名無しさん2013/05/26(日) 16:23:28.16
6万円で買い切りにしてくれれば1年で元取れるのにケチくさい話。
0362デフォルトの名無しさん2013/05/26(日) 16:31:07.55
昔は、postscriptみたいなページ記述言語で手書きしたりスクリプト書いて印刷したり、NEXT/AppleもDisplay PostScriptを用意したり結構重宝されてたんだけどな。
GNUも重要性分かっててghostscriptやgnustepあるわけだし。
PDFはそのPostScriptの交換向けのもの。

Officeほどバイナリなデータフォーマットではなかったので、
illustratorやPageMakerのフリーソフトウエアのクローンが出ていれば、
一般的な認識も編集不可な印刷物的なファイルフォーマットとは、ならなかったかも。

実際には、GUIのツールは開発コストがかかるので、(企業のお金がガンガン投入されてるが)オープンな実装で花開いたのはブラウザだけなので、
フリーなGUIにこだわるなら、WEB関連技術の資産を増やすしかない訳だが。
0363デフォルトの名無しさん2013/05/26(日) 16:34:00.83
PDFの見出し自体が糞であり、あれはシカトするのが正論
JSAの糞なところは公文書に高額な金を取るところ

# 年額6万とか本当に貢いでる情弱いないよな? ネタだよな
# ケチるつもりがなくても馬鹿すぎる
0364デフォルトの名無しさん2013/05/26(日) 16:37:37.80
PCやワークステーションのOS作るのにC++は必須?というか向いている?
0365デフォルトの名無しさん2013/05/26(日) 16:45:13.37
C++がOS作りに向いてるとか言うとLinusさんが激怒するんじゃまいか
0366デフォルトの名無しさん2013/05/26(日) 16:46:28.86
MonaOSはC++だったろ
0367デフォルトの名無しさん2013/05/26(日) 16:59:53.85
Cなんて使っているから脆弱なんだよLinuxは
0368デフォルトの名無しさん2013/05/26(日) 17:24:30.10
じゃあ主にC++使ってて堅牢なOS教えてくれ
言っておくが堅牢と言われてるSolarisとかOpenBSDだって
0369デフォルトの名無しさん2013/05/26(日) 17:37:30.51
Darwinはドライバがembedded C++相当くらいしか思い浮かばないな。
0370デフォルトの名無しさん2013/05/26(日) 19:43:40.63
Darwin の IOKit の C++ は、かなり面白、不思議なことになってたな
0371デフォルトの名無しさん2013/05/26(日) 19:50:41.77
SystemCという腐ったC++のライブラリがあって、それでHW作ってるよ。
堅牢かどうかは知らんけど。
HW系の人は本当にダメ…
0372デフォルトの名無しさん2013/05/26(日) 20:26:50.34
BeOSはほぼ全部C++で書かれていたな。
Be->Palm->ACCESSと買収で所有権が変わってる。
クローンのHaikuってOSがあるらしい。
0373デフォルトの名無しさん2013/05/26(日) 20:35:15.34
>>371
同意
03743642013/05/26(日) 22:00:54.06
様々な意見、参考になりました。
0375デフォルトの名無しさん2013/05/26(日) 22:10:38.87
つ SunのSpring
0376デフォルトの名無しさん2013/05/26(日) 22:38:10.57
LinuxとかBSDを作ってた頃はGCCのC++の実装は糞だったから
C++は選択肢に入ってなかった
0377デフォルトの名無しさん2013/05/26(日) 22:47:58.59
ここまでwindowsなs(ry
0378デフォルトの名無しさん2013/05/27(月) 12:12:16.56
>>371
SytemCはC++のライブラリじゃなくC++の言語フォーマットをパクッたHDLだろ
VHDLがAdaパクッたようにさ
0379デフォルトの名無しさん2013/05/27(月) 19:29:23.16
C++使いって、いまじゃC++使い用HDLのSystemCを使いICの論理設計もできないなと馬鹿にされるからな
もう、C/C++な奴はハードからソフトまでこなせないようじゃ価値なしって感じなっているし
ソフトならC/C++でなくてJavaやC#などで十分ってのが非常に増えたからしょうがないか
0380デフォルトの名無しさん2013/05/27(月) 20:13:44.83
>>378
ライブラリだよ。C++コンパイラでコンパイルして実行できる。
マクロも使ってるけどw
0381デフォルトの名無しさん2013/05/27(月) 20:45:46.55
>>379
おせーよ!重くてイライラする言語でアプリつくんじゃねえ
0382デフォルトの名無しさん2013/05/27(月) 20:47:47.29
CPUが200倍速くなってメモリが1万倍になってもダメダメなソフトが全て台無しにする
0383デフォルトの名無しさん2013/05/27(月) 21:07:54.33
いままでC++のSystemCでどんなのを設計した?
0384デフォルトの名無しさん2013/05/27(月) 21:14:46.78
メモリクリーナーとか田中式とか
0385デフォルトの名無しさん2013/05/27(月) 23:35:01.10
>>362
ロジック部分などは好きな言語でHTTPしゃべるように作って、GUI部分をHTML5, Javascriptってのが今は無難かなぁ。
0386デフォルトの名無しさん2013/05/28(火) 08:53:32.98
>>379
SystemCでLSI作ってる手抜き会社ってどこだ?
あれてまどもなLSIなんて出来ると思ってる方がどうかしてる
電電板でもHDL関連スレはあるけどSystemCなんか話題にも上ってないだろうが

>もう、C/C++な奴はハードからソフトまでこなせないようじゃ価値なしって感じなっているし
そんなのは昔から、
0387デフォルトの名無しさん2013/05/28(火) 08:56:21.08
>>379
間違われやすいのでもひとつ言っとくと
Verilog上位互換のSystemVerilogは普通に使われてるから。
SystemCは既に終了
0388デフォルトの名無しさん2013/05/28(火) 09:24:13.38
求人でVerilog やVHDLはいくらでもヒットするけどSystemCはほとんどないな
0389デフォルトの名無しさん2013/05/28(火) 11:16:19.84
Intel Cofluent StudioでもSystemCが検証ベンチで使われてるよ。
SystemCで書くとC++によるシミュレータを記述してることになるんで。
OSSなんでいろいろな製品や研究でも使われてる。
まあマイナーだけど。
0390デフォルトの名無しさん2013/05/28(火) 12:00:13.13
検証ベンチとHW設計なんて全くの別物だぜ
0391デフォルトの名無しさん2013/05/28(火) 13:15:15.64
http://japan.xilinx.com/products/design-tools/vivado/integration/esl-design/index.htm
FPGAではSystemCは普通に使われている
VerilogやVHDLはハードドカタが使うものだし。当然求人多いよな
ソフトドカタでも学校で習っただろうから当然Verilog・VHDLは使えるだろ
俺でもVerilog/SystemVerilogはある程度使えるからな
SystemVerilogはDPI-CのおかげでC/C++との協調検証えらくしやすくなったからな
0392デフォルトの名無しさん2013/05/28(火) 14:37:15.01
>>391
合成品質のレベルをわかって言ってるのか?
それで動くならなんでRTLレベルのHDLで書く必要があるんだい?
みーんなSystemCの合成ツールに任せれば済む話しだよなぁゲラゲラ
それとSystemCはFPGAよりむしろASICの機能検証で使われることぐらいしっとこうか

>俺でもVerilog/SystemVerilogはある程度使えるからな

これが全て。
お前みたいなカスが書いても金もらえるレベルになることが重要
0393デフォルトの名無しさん2013/05/28(火) 14:55:14.93
局所的アルゴリズムはC/C++で開発する
その後
SystemCはシステムにおける挙動検証をするために用いられるが
結局、これだとハードウェア実体からは遠いので主流にはなり得ていない
というか今後もならない
間違いなくSystemCはSystemVerilogに取って代わられる
0394デフォルトの名無しさん2013/05/28(火) 15:38:43.80
けどこのスレ的にはSystemC万歳。
0395デフォルトの名無しさん2013/05/28(火) 15:59:22.07
電電板のVerilogスレの
http://uni.2ch.net/test/read.cgi/denki/1351913871/404
の回路記述、検証コードをSystemVerilog、SystemCならどう書くんだ?
0396デフォルトの名無しさん2013/05/28(火) 19:37:55.73
俺もSystemCの絶滅した世界に行きたい。
ちなみにRTL用のテストベンチはC++で書けばいいのでSystemCみたいな
アホなものは要らん。

SystemVerilogは、C++がどんなに素晴らしいものだったか認識できるという
点でのみ意味がある。C++の後にどうやったらこんなものを作れたのか気が
しれない。

SystemVerilogはDPIがあるがVerilogにはPLI/VPI、VHDLにはVHPIがある。
超機能限定版がDPIで、その代わり簡単に書ける。
0397デフォルトの名無しさん2013/05/28(火) 20:00:46.81
古い言語が割と生き残るのがプログラムの世界。既に入手困難な環境を使うのが普通「
0398デフォルトの名無しさん2013/05/28(火) 21:53:16.33
>>396
>SystemVerilogは、C++がどんなに素晴らしいものだったか認識できるという
>点でのみ意味がある。C++の後にどうやったらこんなものを作れたのか気が
>しれない。

ハァ?
SystemCでRTLレベルで回路書いてミロ
書こうと思えばRTLで回路を記述できることにこそ意味がある
0399デフォルトの名無しさん2013/05/28(火) 21:58:50.20
>>395
そのスレで聞いたら?なんでこっちにふってんの?
0400デフォルトの名無しさん2013/05/28(火) 22:28:39.13
>>399
SystemVerilogはスレチガイだがSystemCはC++ってことで
このスレにはSystemC、SystemVerilogの猛者がいるし
SystemVerilogとSystemCの比較をしてみたい
0401デフォルトの名無しさん2013/05/28(火) 22:45:30.57
C言語で文字列が面倒だが、分かりやすいと思ったな。
他の言語で文字列型変数ってどう扱っていいのか躊躇するようになった。
0402デフォルトの名無しさん2013/05/28(火) 22:57:55.17
Cの文字列が分かりやすい? 正気か
0403デフォルトの名無しさん2013/05/28(火) 23:24:06.34
文字操作関数覚えなくてもどーとでもできるのがシンプルだし
ハード的にわかりやすいとは思うな
BASICからC触ったときすごくシンプルで"コレ"だと思った
インタプリタでもないC#のstringとかもなにがしかの操作しようとすると新たにコピーされる仕様とか
今のメモリ事情だから許されるんだろと思うな
0404はちみつ餃子 ◆8X2XSCHEME 2013/05/28(火) 23:52:11.45
ハードウェアの性能向上は理由のひとつにはあるだろうけど、最適化技術の向上もあなどれないと思うな。
「コピーされる仕様」とは言うが、事実はコピーされるかのように見えるってことだろ。
破壊的操作がされないことをフロー解析で看破できれば実際にはコピーしなくても見掛け上の動作は同じになる。

むしろ高級アセンブラでしかない C/C++ はコンパイラができることが少なくて本来なら最適化はしづらいタイプの言語だし。
異様にリソースが投入されてるから未だ動作速度では優勢だけど、原理的にはそれほど有利でもない。
0405デフォルトの名無しさん2013/05/29(水) 01:00:22.77
コピーされるよ
そんな変な解釈変更するぐらいなら初めからstring不変をわざわざ言語仕様に盛り込まない
CやC++と同じ仕様にしとけばよかった。なんでわざわざ今のような仕様にしたんだwwww
それと
破壊操作されるんじゃなくガベコレ対象になる

最適化技術の向上てんなもんは信じてる方が馬鹿
コーディングの際人間が最大限配慮しなければならないのは20年前からなんらかわってない。
そんな魔法がまかり通るなら今頃言語翻訳もOCRも読み上げソフトもあのレベルのはずもなし

>原理的にはそれほど有利でもない。

いや原理的には速度上は圧倒的に有利だろ。
人間様が使いやすくするために配列の添え字チェックやってりゃ速くなるはずがない。
0406デフォルトの名無しさん2013/05/29(水) 02:25:48.04
添字チェックしないコンパイルオプションのある高級言語もあるけど

行列演算をCでベタ書きした場合より速く計算してくれる高級言語なら割とあるよ
メモリの配置とかSIMDとかマルチスレッドとか勝手にやってくれるし
有能な人間がゴリゴリ最適化すりゃそりゃCの方が速いが、その労力のかけかたは明らかに無駄
0407デフォルトの名無しさん2013/05/29(水) 02:40:26.50
別にC言語の規格でも配列の添え字チェックやって悪いってことはないはずなんだがね
それを売りにしたコンパイラもあったはず

C文字列はC文字列で各関数ではほぼ毎回strlen的な処理が走ってるので、不利な部類
効率だけならPascal文字列のほうがずっと速いし、
あらゆる文字列がstring_viewなD言語の文字列は至高
0408デフォルトの名無しさん2013/05/29(水) 02:44:09.35
最近はようやくSSA最適化も普及してきた
コンパイラの最適化は相変わらず課題山積みって感じだが、
着実に進歩はしている
0409デフォルトの名無しさん2013/05/29(水) 06:15:49.86
> C文字列はC文字列で各関数ではほぼ毎回strlen的な処理が走ってる

寝言は寝て言え
0410デフォルトの名無しさん2013/05/29(水) 18:45:18.40
>>406
>メモリの配置とかSIMDとかマルチスレッドとか勝手にやってくれるし

その比較はアンフェアだろ
Cはシングル前提で
比較対象の言語はSIMDにマルチスレッドなんて比較は。言語比較じゃねーだろが

>有能な人間がゴリゴリ最適化すりゃそりゃCの方が速いが、その労力のかけかたは明らかに無駄

無駄じゃない。組み込みとか実際そーやってるんだから。
0411デフォルトの名無しさん2013/05/29(水) 18:47:48.92
>>407
>別にC言語の規格でも配列の添え字チェックやって悪いってことはないはずなんだがね

計算負荷をかけず添え字チェックをどーやってやるのかアセンブラコードで説明してくれ
どんなコードを書けば添え字チェックが計算コストにならないか
そんな命令コード持ってるCPUを知りたい実に興味がある
馬鹿か?
0412デフォルトの名無しさん2013/05/29(水) 19:10:22.03
>>410
費用対効果って知ってる?
0413デフォルトの名無しさん2013/05/29(水) 19:30:11.81
>>412
他社との差別化て知ってる?
0414デフォルトの名無しさん2013/05/29(水) 19:37:01.76
SIMD最適化くらいCコンパイラでもするだろう
0415デフォルトの名無しさん2013/05/29(水) 19:44:28.76
>>414
お兄さん、ARMでSIMD/DSP命令最適化するコンパイラ教えてくれない?
0416デフォルトの名無しさん2013/05/29(水) 20:20:46.25
最適化とは名ばかりで最適からは程遠いけどな
0417デフォルトの名無しさん2013/05/29(水) 20:27:23.55
そんな汎用的な最適化アルゴリズム見つかったらノーベル賞やで
0418デフォルトの名無しさん2013/05/29(水) 21:57:45.32
VLIWアーキテクチャだとある程度対応できるんだろうけど、
いかんせんマイナーアーキテクチャなんでC++とかないかな?
0419デフォルトの名無しさん2013/05/29(水) 22:07:32.04
時々いるけど最適化を魔法の杖みたいに勘違いしてる人は
意味不明なこと言うよね。
0420デフォルトの名無しさん2013/05/29(水) 22:07:38.73
C++は互換性気にしてるけど、
もう新規案件でしか使えなくてもいいから
機能を整理した規格を作って欲しい
0421デフォルトの名無しさん2013/05/29(水) 22:09:22.49
Dでいいじゃん
0422デフォルトの名無しさん2013/05/29(水) 22:12:26.06
DはGCが
0423デフォルトの名無しさん2013/05/30(木) 00:42:54.47
かなり前からC++の最適化は優れたものになってるそうだな。

GUIになってからスケルトンそのものが環境によって違うから最初から互換性を考えて設計してない
限りC++でも移植は難しいな。
0424デフォルトの名無しさん2013/05/30(木) 00:44:52.46
DCも便利かもしれんが、メモリリークを起こすなどPGの恥だぞ
0425デフォルトの名無しさん2013/05/30(木) 00:45:50.52
×DC
○GC
0426デフォルトの名無しさん2013/05/30(木) 00:52:10.70
>>411
たぶん「計算負荷をかけず」って話じゃないと思うんだ。
0427デフォルトの名無しさん2013/05/30(木) 00:56:09.93
ABIをどうにかしてくれ
0428デフォルトの名無しさん2013/05/30(木) 01:03:50.28
よし、もっと複雑にしてやる
0429デフォルトの名無しさん2013/05/30(木) 01:19:04.73
>GCも便利かもしれんが、メモリリークを起こすなどPGの恥だぞ

組織での開発に於いてこういう
考えをしている奴が一番危険。
0430デフォルトの名無しさん2013/05/30(木) 02:58:53.77
しょぼい組織にお勤めなようで
0431はちみつ餃子 ◆8X2XSCHEME 2013/05/30(木) 03:52:23.25
GC は GC でちゃんとクセを把握して使わないと性能が出ないのは確かだけど、
そもそもほとんどのケースでそこまで性能が必要ないのも確かなわけで。

性能を出したい部分は C/C++ で書いて、全体をまとめるにはもうちょっと気楽な
グルー言語を使うってのが合理的選択じゃねーの。

最近の C++ はグルー言語やコードジェネレータでやればいい部分まで自前でやろうとしてるみたいで
ちょっとイケてない気がする。
今後は役割の分割していかないといいかげん巨大すぎる。
現在のプリプロセッサのイケてなさへの反省があるのかもしれんが、
あれはあのプリプロセッサが駄目なだけでしょ。
0432デフォルトの名無しさん2013/05/30(木) 09:45:29.44
>GC は GC でちゃんとクセを把握して使わないと性能が出ないのは確か

このあいだ姉妹スレでc++のnewがGCに完敗して
「意味のない比較だ」とか言い訳してる奴いたよな
0433デフォルトの名無しさん2013/05/30(木) 12:00:03.60
だからなんで malloc とガベコレを比較してるんだ
意味の無い比較と言ってるのはその通りだろ
馬鹿なのお前?
0434デフォルトの名無しさん2013/05/30(木) 12:08:42.48
"Garbage Collection Can Be Faster Than Stack Allocation"
という古い論文があるな。
0435デフォルトの名無しさん2013/05/30(木) 12:52:01.97
C/C++に都合の悪い比較は
意味のない比較とします
0436デフォルトの名無しさん2013/05/30(木) 12:55:17.65
でもGCってどういうタイミングで実行されるか事前に把握出来ない事が多いんだよな

JavaとかC#で書かれたプログラムを走らせてみれば分かるけど、メモリギリギリ一杯まで
使いきってからようやくGCが実行される

タスクマネージャを見てると心臓に悪いぞ
0437デフォルトの名無しさん2013/05/30(木) 13:18:46.35
そりゃなるべく回数を減らして一回のGCでたくさんのゴミを一掃する方が効率いいんだから仕方がない
でもOSや他のアプリにしてみれば無駄にメモリ圧迫されて迷惑だよな・・
0438デフォルトの名無しさん2013/05/30(木) 13:25:27.56
むしろメモリがクソ安い時代にただのアプリごときに
Cの方がメモリ少ないからとメリットを作り上げ
ようとしているのが無様
0439デフォルトの名無しさん2013/05/30(木) 13:30:59.70
都合のいい条件設定でマヌケ過ぎる比較して
中間言語が速度上も優位なんて結論を出そうと画策
してる方が異常
0440はちみつ餃子 ◆8X2XSCHEME 2013/05/30(木) 13:36:03.50
>>436
メモリ使用量を節約する (使われてないメモリが余っている) という方針にした場合、
それはメモリが無駄になっているとも言える。
ギリギリまで使うのは意図的な方針だと思う。

GC にも特性の違うものが無数にあって、時には組合わせたりもするわけだけど、
いわゆるインクリメンタル化は体感的な速度上昇が見込める場合が多い。
それと言うのも一般的なプログラムは常に CPU を目一杯使うことはなくて大半は待機時間なので、
その待機時間の間に GC を発動すればメモリ回収のために使う時間は事実上のゼロになる。

C++ でもデストラクタで領域を登録だけして実際の開放は後回しっていうやり方である程度の緩和は
見込めるけど、普通の使い方ではデストラクタ発動のときに関連するオブジェクトのデストラクタが
連鎖的に動いてその間は本来的な動作が停止してしまうという問題が指摘されてる。
0441デフォルトの名無しさん2013/05/30(木) 13:51:30.21
>>439
まだ言ってるのか。
単に「C/C++は動的メモリ確保が他言語より遅い」
が本当か比べただけだろ。
「そのうちアセンブラを追い越す」みたいな煽りは別として、
誰も全般で優位なんて言ってないし、落ち着けよカス。
0442デフォルトの名無しさん2013/05/30(木) 13:57:13.45
C++の仕様にGCが入れば最強
0443はちみつ餃子 ◆8X2XSCHEME 2013/05/30(木) 14:01:16.62
Boehm さんがかかわったりしてるし、いずれ入るんじゃね。
0444デフォルトの名無しさん2013/05/30(木) 14:02:26.74
>>434
スタック割り当て?mallocと何も関係無いだろ
0445デフォルトの名無しさん2013/05/30(木) 14:03:29.27
マイクロソフトのアレでいいや
ゼロオーバーヘッドさんも納得の仕様
0446デフォルトの名無しさん2013/05/30(木) 14:08:14.17
>>436
今やそんなGCばかりではないよ。
0447デフォルトの名無しさん2013/05/30(木) 14:09:03.25
>>443
GCのライブラリ実装がポータブルになるための最小限の仕様変更は既に入った。
0448はちみつ餃子 ◆8X2XSCHEME 2013/05/30(木) 14:09:15.69
>>444
俺が英語わからんつっても、いくらなんでもこのくらいの英語は読めるぞ。
「ガベージコレクションはスタック割り当てより速くできる」で、
比較対象としてスタックを持ち出してるんだろ。 関係あるよ。
0449デフォルトの名無しさん2013/05/30(木) 14:11:20.15
マローク/ニュー>>スターク>gcnew ってことで
0450はちみつ餃子 ◆8X2XSCHEME 2013/05/30(木) 16:17:26.29
比較に意味がないなんてことはねーよ。
絶対値でどちらかが速いということを示そうとするのは意味がないとは言えるけど。
要するに状況によって有利不利がある。

俺が >>440 で言ったような待機時間を活用する話は、
待機時間が無いような処理 (画像のエンコードとか、めいっぱい処理を詰め込む系) では意味がなくなるしな。
そういう場合はインクリメンタル化は無駄だからやめようってだけのこった。

速いか遅いかじゃなくて比較検討しようぜって話だ。
0451デフォルトの名無しさん2013/05/30(木) 16:21:24.04
マインクラフトはJavaで書かれたゲームだけど全くGCが気になった事はないな
むしろ今のJavaはこれだけ高速で動くようになったのかとむしろ驚き
0452デフォルトの名無しさん2013/05/30(木) 19:33:48.01
間違いない。C++を貶めるステマがいる
0453デフォルトの名無しさん2013/05/30(木) 19:47:39.12
>>448
ヒープ割り当てるmallocとスタック割り当てに何の関係があるんだつってんだろが
0454デフォルトの名無しさん2013/05/30(木) 19:50:40.81
>>443
>Boehm さんがかかわったりしてるし、いずれ入るんじゃね。
C#が勝手なGC抑制するためにどーしてるかわかってんのか?
そもそもGCは言語レベルの仕事じゃない
0455デフォルトの名無しさん2013/05/30(木) 19:53:54.64
>>454
>GCは言語レベルの仕事じゃない
言語仕様に基づいて確保した領域の開放が
言語の仕事でないと?
0456はちみつ餃子 ◆8X2XSCHEME 2013/05/30(木) 20:01:33.37
>>453
だから比較対象だっつってんだろうが。
0457デフォルトの名無しさん2013/05/30(木) 23:25:37.09
Boehmは糞。
リフレクション機能が全く無い言語で
ガベージコレクションなんて無理に決まってるのに
なんちゃってガベコレを繕うという発想がバカ。
0458デフォルトの名無しさん2013/05/31(金) 00:00:59.19
asyncを試してるのですが、ランタイムエラーになってしまいます。
何か間違っているのでしょうか?
ideone 側の問題かなー?

http://ideone.com/gYydfz
0459KUSO KOTE2013/05/31(金) 00:21:09.86
>>458
GCCはおUNKOなので-lpthreadが必要です(たぶん)
0460デフォルトの名無しさん2013/05/31(金) 00:31:25.73
>>458
質問の本質には関係ないと思うけど、ちょっとバグってたので修正。

http://ideone.com/TkZejo

>>459
そうなのですか…

コンパイルオプション設定できるのだろうか…
0461KUSO KOTE2013/05/31(金) 00:48:46.73
>>460
ideoneのAPIリファレンスを見ても、
コンパイラーオプションを渡す
パラメーターは見あたらず。

http://ideone.com/brcYwy
join(waitやget)で落ちる模様…。
0462デフォルトの名無しさん2013/05/31(金) 00:55:23.22
http://www.hpl.hp.com/personal/Hans_Boehm/
規格として関わってるのはメモリーモデルのような気がする。
でも、c++11で云々って書いてあるね。やっぱり標準ライブラリ外の話なんだろうが。
0463デフォルトの名無しさん2013/05/31(金) 00:57:34.36
よしお前、
(650) 857-3406
に電話して訊け
0464デフォルトの名無しさん2013/05/31(金) 01:00:37.64
>>457
応用対象に寄ります。
0465デフォルトの名無しさん2013/05/31(金) 01:19:48.52
本来できるはずがないことを
動いたように見せかけるあたりが
中学生の工作レベル
使い捨てツールぐらいなら使えるかもな
0466デフォルトの名無しさん2013/05/31(金) 01:38:12.41
単純化しないと物事を考えられない性能の低い脳みそなんですね
0467デフォルトの名無しさん2013/05/31(金) 01:44:37.94
>>461
おお、追試ありがとうございます。

結局 ideone の thread 周りの不具合って事で FA かな。
しょうがないので、会社のVS2012で試すとするか…
自宅だとc++11環境が無いんだよね…
0468デフォルトの名無しさん2013/05/31(金) 01:54:10.91
>>467
>ideone の thread 周りの不具合って事でFA
必要なリンクオプションが足りないのにノーエラーでリンクできてしまう糞ツール群を内部で使用したサービス、
という意味ではそうなんだろうけど
しっくりこない解釈だなおい。
0469デフォルトの名無しさん2013/05/31(金) 02:02:06.68
>自宅だとc++11環境が無いんだよね
自宅のパソコンにVMwarePlayer入れて
ウブンコ入れてClangとG++入れなさい
家で毎日どうやってオナニーしてんのよ
0470デフォルトの名無しさん2013/05/31(金) 02:11:56.21
>ウブンコ
何かとクソ談義のさかんなC++スレだが
そう来たか…
0471はちみつ餃子 ◆8X2XSCHEME 2013/05/31(金) 02:38:02.49
X-Window を X-Windows とか言うようなもんじゃね。
0472デフォルトの名無しさん2013/05/31(金) 08:04:05.33
全然ちがうんこ
0473デフォルトの名無しさん2013/05/31(金) 10:39:08.09
debianで最小限インストールすればディスクイメージ小さくて済むよー。
たしかshとfileutilsくらいしかない。
0474デフォルトの名無しさん2013/05/31(金) 18:40:23.34
1
0475デフォルトの名無しさん2013/05/31(金) 18:40:44.34
1FDDブートできますかっ
0476デフォルトの名無しさん2013/06/01(土) 22:31:54.50
1-475
ここまで糞コテの自作自演
0477デフォルトの名無しさん2013/06/01(土) 22:38:44.89
1 floppy disk drive
0478デフォルトの名無しさん2013/06/01(土) 22:41:08.44
floppyってなんですか?
0479デフォルトの名無しさん2013/06/02(日) 01:49:30.18
パズルゲームの主人公
0480デフォルトの名無しさん2013/06/02(日) 10:20:12.02
それはフラッピーだろ
不自由ソフトだ
0481デフォルトの名無しさん2013/06/02(日) 10:21:33.08
フロッピーが現役なシステムも普通に存在する
0482はちみつ餃子 ◆8X2XSCHEME 2013/06/02(日) 10:24:26.27
僻地の役所とかはそんなもんだとか聞いたことある。
0483デフォルトの名無しさん2013/06/02(日) 10:28:09.29
金が無けりゃ昔のシステムをずっと使うしかないからな
MS-DOSも現役
0484デフォルトの名無しさん2013/06/02(日) 11:00:45.80
江添さんチーッス
0485デフォルトの名無しさん2013/06/02(日) 11:57:05.82
さすがにconfig.sysの書き方とかもう忘れた
戻れないわ
0486デフォルトの名無しさん2013/06/02(日) 12:20:14.02
c++1yの話題が乏しいな
適当に出したc++11の見直しみたいな
ものになるん?
ヘッダー名が<cstding>みたいな誤記とか
レビューしてんのかよっ てかんじ
だったからな
0487デフォルトの名無しさん2013/06/02(日) 12:45:42.07
仕様追加があるらしい
今以上にC++11本が出なくなるじゃねえか
0488デフォルトの名無しさん2013/06/02(日) 12:52:31.94
誤記があっても正誤表は出さない
それがWG21クォリティー
0489デフォルトの名無しさん2013/06/02(日) 13:01:15.48
コンセプトさんは期待してよかですか?
0490デフォルトの名無しさん2013/06/02(日) 16:47:28.46
コンセプト?何ソレ?
0491デフォルトの名無しさん2013/06/02(日) 22:54:04.55
これから日本で実現する政策

TPP参加
解雇規制緩和
限定正社員の導入
派遣労働の拡大、派遣対象の業種を全面解禁
ホワイトカラーエグゼンプション(残業代0)
セーフティネット削減(失業保険の受給期間を短期間、生活保護受給厳格化、親族の扶養強化)
混合診療解禁(国保適用外の拡大)
留学生30万人受け入れ
グローバル企業の英語公用語化
貸金業法の改正(総量規制廃止、グレーゾーン合法化、金利引き上げ)
0492デフォルトの名無しさん2013/06/03(月) 09:36:55.78
>>487
言語って旬の時期があってc++はもうその時期を過ぎた
今後仕様追加されてもそれをキャッチアップするやつどの程度いるのかな?
FortranやCが新スペック追いかけてる奴なんてもうほとんど居ないのと同じでさ
0493デフォルトの名無しさん2013/06/03(月) 11:22:18.09
FORTRANやCの新スペックは当時でも斬新なものは全くない。
FORTRAN実装の独自仕様なら90年代でも斬新なものが幾つもあったが。
C++の新規格は先鋭的すぎるところが面白い。
新機能の多くを使わない人が多いのはどの言語でも一緒だし。
templateなんか誰も使わないとか、害しかないとか当時は言われた。
0494デフォルトの名無しさん2013/06/03(月) 13:00:28.00
そのC++の新スペックより既にもっと上を行くのがC#なわけ
WinアプリではC++の必要とされるほとんどの部分はC#で既に十分
0495はちみつ餃子 ◆8X2XSCHEME 2013/06/03(月) 13:10:34.22
いつの間にWinアプリの話になってんの?
0496デフォルトの名無しさん2013/06/03(月) 14:52:28.68
C++ の新機能は「待望」のものが多いのが、C のそれとの大きな違い・・・というか真逆といってもよい

満点はやれないけどね
ゼロオーバーヘッド厳守の仕様を渇望していただけに
0497デフォルトの名無しさん2013/06/03(月) 14:59:05.83
なんか違反してるのあったか?
0498デフォルトの名無しさん2013/06/03(月) 14:59:42.53
Winアプリ作ってるけどC#じゃ無理
0499デフォルトの名無しさん2013/06/03(月) 18:23:52.40
>>497
例えば noexcept をデフォにするとかね
既存コード保護の観点から難しいのはわかるんだけど
0500デフォルトの名無しさん2013/06/03(月) 18:30:22.02
それはC++11で起きた問題じゃないと思うが。
0501デフォルトの名無しさん2013/06/03(月) 18:40:02.10
new が NULL を返さなくなった日の狼狽は何だったんだろう...
メジャーチェンジってそういうもんだと期待してたんだけど
0502デフォルトの名無しさん2013/06/03(月) 19:04:12.78
noexceptデフォとか死ねる
そんな言語他にあるか?
0503デフォルトの名無しさん2013/06/03(月) 19:27:55.66
他になくていい ・・・って女かC++はw
0504デフォルトの名無しさん2013/06/03(月) 19:37:16.67
デフォルトにするといえばポインタ引数に noknot みたいなもん宣言出来ればいいな
メンバや他の引数に実体を結びつけず気兼ね無くスコープ消滅と同時にdelete出来たりコンパイル時警告を出してくれる様な
0505デフォルトの名無しさん2013/06/03(月) 19:42:42.51
>>502
Java?
超不評だけど
0506デフォルトの名無しさん2013/06/03(月) 20:29:37.53
>>501
new するまえに変数が NULL で初期化されてれば良いんじゃね?
0507デフォルトの名無しさん2013/06/03(月) 20:48:20.08
>>501
exportが無くなってComeauがビックリしました
0508デフォルトの名無しさん2013/06/03(月) 20:54:50.70
C++と違ってCは2011年に改訂されたことすら
世間では知られていない
C++はまだマシな状況
0509デフォルトの名無しさん2013/06/03(月) 21:06:18.60
Cを改訂する意味ってあるの?
0510デフォルトの名無しさん2013/06/03(月) 21:06:23.19
>>501
別にそれはオーバーロードで置き換えられるし
そもそも規格化される前の話だしな
0511デフォルトの名無しさん2013/06/04(火) 00:52:46.30
>>499
「noexcept がデフォ」が何のこと言ってるのかよくわからない。
それがゼロオーバーヘッドの原則とどう関係するのかもよくわからない。
もうちょっと詳しく。
0512デフォルトの名無しさん2013/06/04(火) 02:24:49.60
atomicの辺りのデフォルトがゼロオーバーヘッドではないとか
聞いたことがある気がする
0513デフォルトの名無しさん2013/06/04(火) 02:25:19.88
void foo() except(true) {...}
みたいな感じで例外を投げる可能性のある方を指定できるようにして、
投げないのをデフォに、って主張じゃない?

例外は組み込み系なんかだとサイズ(や速度)の点で好まれないこともあるんだが、
try, catch, throw使わないでも例外のために挿入されるコードというのもあるので。
0514デフォルトの名無しさん2013/06/04(火) 02:52:08.33
http://mimizun.com/log/2ch/tech/1349356417/277-
0515デフォルトの名無しさん2013/06/04(火) 03:04:54.60
>>513
そんな要求はコンパイルオプションで例外無効にしろってことでずっと昔から
答えが決まってるんだから、規格の改定で考慮する必要ないだろ。
0516デフォルトの名無しさん2013/06/04(火) 06:41:04.32
例外指定付けるか付けないかでコードが変わるなんて事情、規格が知るかよ
0517デフォルトの名無しさん2013/06/04(火) 08:20:11.21
実装を全く考慮しないということは無いだろうけど、今はメジャーになった
テーブルアプローチによる例外実装であれば多くのプログラムでたいした
違いにならないとは言えそうな気がする。

あ、例外を使うこと自体は前提での「違い」のことね。それ自体(例外実装
コードのリンクだけ)で領域があふれるようなら>>515
0518デフォルトの名無しさん2013/06/04(火) 20:29:31.18
ゼロオーバーヘッドキーック!!
0519デフォルトの名無しさん2013/06/05(水) 14:58:19.59
株全部売っといてよかったわ
0520デフォルトの名無しさん2013/06/05(水) 21:18:01.05
[[noreturn]]付けるか付けないかでコードが変わるなんて事情、規格が知るかよ
0521デフォルトの名無しさん2013/06/05(水) 21:31:48.26
↑馬鹿
0522デフォルトの名無しさん2013/06/05(水) 21:34:10.40
>>496
>ゼロオーバーヘッド厳守の仕様を渇望
これは>>325-326みたいな人が安心できる機能
ということですね
0523デフォルトの名無しさん2013/06/07(金) 02:04:52.67
アベノミクスはまやかし
0524デフォルトの名無しさん2013/06/19(水) 16:23:40.36
gist.github.com/anonymous/5812246
これclangとg++で結果違うんだけどclangのバグかな
0525デフォルトの名無しさん2013/06/19(水) 21:28:57.67
ちょうどllvm3.3がリリースされたからそれでも確認してみれば
bug database見るとエイリアステンプレートでのパラメータパックに対する
sizeof...に不具合があるような報告もあるけどよくわからん
0526デフォルトの名無しさん2013/06/20(木) 00:02:26.78
>>524
template <class... Types> struct test<Derived<Types...>> : public std::true_type {};

何かへんじゃね
Derivedはテンプレートだからtestは
template<template<…>…>
で始まらないといけないんじゃね?
0527デフォルトの名無しさん2013/06/22(土) 21:01:51.67
clangの実装ペース半端ないな。もうC++11終わったのか
0528デフォルトの名無しさん2013/06/22(土) 21:32:00.51
目指すはC++14
0529デフォルトの名無しさん2013/06/23(日) 00:59:22.69
>>527
最強C++コンパイラのVCなんてVC2012でC++11はサポート済みだろ?
0530デフォルトの名無しさん2013/06/23(日) 01:16:23.74
サポート済み(全ての機能を実装したとは言ってない)
0531デフォルトの名無しさん2013/06/23(日) 12:43:05.88
>>529
いいえ、Visual C++はC++規格第3版の仕様を
サポートしていません
0532デフォルトの名無しさん2013/06/23(日) 12:59:23.69
今月26日に公開予定のVS2013プレビュー版なら、きっとC++11をフルサポートしてるはず!
フルサポートしてなかったら俺はMSを見捨てるぞジョジョ!
0533デフォルトの名無しさん2013/06/23(日) 16:30:13.26
コンパイラ製作者が手に負えない仕様って…
0534デフォルトの名無しさん2013/06/23(日) 16:33:52.42
その名もexpoort!さん
0535デフォルトの名無しさん2013/06/23(日) 17:19:52.43
>>532
http://blogs.msdn.com/b/somasegar/archive/2013/06/03/teched-2013.aspx
12 Jun 2013 10:19
>Most folks on the VS team use Visual Studio including those who use C++11. When we released the C++11 CTP, there was no IDE support (e.g. intelisense) for some of the C++11 features but we have added such support in this release

C++11CTPがVisual Studioに統合された以上のことは期待するなってことだと理解した
0536デフォルトの名無しさん2013/06/23(日) 21:02:33.67
>>533
Variadicテンプレートは結構死ねると思う。
・C(forward<Args>(args)...)
 →C(forward<A>(a), forward<B>(b))
・template<typename...T>void f(T(*...t)());
 →void f(A (*)(), B(*)())
・struct X:Mixins...{X(Mixins&... mixins):Mixins(mixins)...{}
 →struct X:A,B{X(A&a, B&b):A(a),B(b){}

コンパイラはよく頑張るよ まったく。
0537デフォルトの名無しさん2013/06/23(日) 21:52:40.03
>>534
Comeauというコンパイラーがあってだな。
0538デフォルトの名無しさん2013/06/23(日) 22:03:05.15
ゼロオーバーヘッドだから関係ないね
既存のコードがそのまま動くのこと重要
0539デフォルトの名無しさん2013/06/23(日) 22:23:39.34
日本語でお書きくだしあ
0540デフォルトの名無しさん2013/06/24(月) 20:02:00.11
ここC++11以後スレだけど、そこにたむろしているお前らって
コンパイラー何を使ってるんだよ? C++11をたいしてサポートしていないVC2012?
俺はそうなんだけど
0541はちみつ餃子 ◆8X2XSCHEME 2013/06/24(月) 20:09:49.16
clang だろ。 常識的に考えて。
0542デフォルトの名無しさん2013/06/24(月) 20:11:39.36
clangはインスコの仕方がわからんかった
0543デフォルトの名無しさん2013/06/24(月) 20:22:42.22
>>541
Clangが良いと分かっていても、さくっとWinにインスコできないからVC2012なんだよ
0544デフォルトの名無しさん2013/06/24(月) 20:23:50.26
sudo apt-get install clang
0545デフォルトの名無しさん2013/06/24(月) 20:31:01.85
VC++2012で十分じゃん!
autoやrange based forなんかもう神だね!
05465422013/06/24(月) 20:31:16.96
>544
そこまではやったけど
コンパイルしたら壮大なリンクエラーが出て
めんどくさくなった
0547デフォルトの名無しさん2013/06/24(月) 20:42:55.97
windowsで不完全なコンパイラを買う金でmacが買える
0548デフォルトの名無しさん2013/06/24(月) 20:55:13.37
>>547
買う?

いや、買ってもいいけどさ。
0549デフォルトの名無しさん2013/06/24(月) 21:11:17.38
MS的にVSはIDEでC#、VBがメイン用途でVCはおまけって感じだからね
おまけには力なんてたいして入れないだろうし
0550デフォルトの名無しさん2013/06/24(月) 21:39:42.22
>>541
QZのくせに生意気な
0551デフォルトの名無しさん2013/06/24(月) 23:03:53.28
ギガクラスのCPUでもJavaや.Netは一拍置いてから動作する。まあVC++のデバッガも
ステップ実行がやけに遅くなったが…
瞬間的に動作しないアプリで満足できる奴が分からん
0552デフォルトの名無しさん2013/06/24(月) 23:31:56.10
>>540
そもそもWindows使ってない。
0553デフォルトの名無しさん2013/06/24(月) 23:40:40.56
そんなことは誰も聞いていない
0554はちみつ餃子 ◆8X2XSCHEME 2013/06/24(月) 23:44:48.41
>>550
QZ と混同するのはやめてくれ。
俺は Scheme スレ出身だぞ。
0555デフォルトの名無しさん2013/06/25(火) 04:41:21.88
なんであなたここ来てるの?
0556はちみつ餃子 ◆8X2XSCHEME 2013/06/25(火) 08:03:41.81
Scheme スレが過疎ってて暇だから。
0557デフォルトの名無しさん2013/06/25(火) 08:17:42.10
ふむふむ
Qzはschemeかぶれと
0558デフォルトの名無しさん2013/06/25(火) 21:26:48.03
じゃあモリタポスレに来なよ糞ース豊漁突っ込みどころ満載だ
0559デフォルトの名無しさん2013/06/26(水) 00:19:57.53
VS2013でVCが最強のC++11/C++14サポートコンパイラになるらしいな
さすがMS
0560デフォルトの名無しさん2013/06/26(水) 00:33:15.10
すげー!!
0561デフォルトの名無しさん2013/06/26(水) 07:13:28.79
>>559
ソースは?
0562デフォルトの名無しさん2013/06/27(木) 21:05:55.58
>>559
Visual C++2013で対応されなかったもの
 =default,=delete
 noexcept
 constexpr
 inline namespace
 メムバー関数に &
 [[属性]]
その他多数。
つまりマイクロソフトはUNKO
0563デフォルトの名無しさん2013/06/27(木) 21:10:15.99
メムバー関数ってなんですか?
0564デフォルトの名無しさん2013/06/27(木) 21:12:22.59
>>563
struct kuso_vs {
 void fuck() & {} ←これ
};
0565デフォルトの名無しさん2013/06/27(木) 21:19:11.89
そこにアンドってどういう意味?
0566デフォルトの名無しさん2013/06/27(木) 21:24:04.75
>>565 右辺値と左辺値がオーバーロードできる
struct kuso_vs {
 void fuck() & {}
 void fuck() && {}
};

void f() {
 func_returns_kuso().fuck();

 kuso_vs unko;
 unko.fuck();
}
0567デフォルトの名無しさん2013/06/27(木) 21:25:56.35
きたねえ幼稚なコード書いてんじゃねえよ
0568デフォルトの名無しさん2013/06/27(木) 22:27:36.56
>>566
C++は好きだけどこの先どこに行くんだろうって思う
そりゃjavaはconstをなくすわけだ
0569デフォルトの名無しさん2013/06/27(木) 23:05:53.70
こんなスレ覗いてる奴が言っても説得力ないw
自分がどこに行ってもいいのに、ここにいるくせに
0570デフォルトの名無しさん2013/06/28(金) 08:45:53.63
老害ジジイは新しいことを覚えられないので
何十年も同じものにしがみつくしかないのです
0571デフォルトの名無しさん2013/06/28(金) 11:55:40.49
AdobeのCrossBridgeがClangベースになるって。
http://blogs.adobe.com/digitalmedia/2013/06/open-source-flash-c-compiler-crossbridge/
FlashがターゲットのC/C++コンパイラ。
0572デフォルトの名無しさん2013/06/28(金) 13:40:19.59
>>568
constこそJavaやC#に比べたC++の良いところだと思うが?
特に引数にconst指定できないのは危険極まりないと思う。
0573デフォルトの名無しさん2013/06/28(金) 16:05:39.92
Javaはintとかの組み込み型でも関数の引数に参照渡しできないのがね・・・
C#はref明示で使えるが、これが紛らわしさも解消して一番いいと思う
0574デフォルトの名無しさん2013/06/28(金) 18:09:36.50
Integerにboxingすればできるだろ
0575デフォルトの名無しさん2013/06/28(金) 19:25:49.46
えっ?
0576デフォルトの名無しさん2013/06/28(金) 21:34:27.79
「え」とか「は」とだけのレスは無意味だからやめとけ

java.lang.Integerはimmutable
0577デフォルトの名無しさん2013/06/29(土) 04:38:45.82
Bulid2013見てたら
RTMとその後のCTPでいろいろ実装する予定らしいね
0578デフォルトの名無しさん2013/06/29(土) 05:51:46.36
そこでリリースバージョンという概念にとらわれない
アプリケーションライフサイクルマネージメント
というわけですね
0579KUSO KOTE2013/06/29(土) 07:36:57.93
>>577
ソース貼った方がいいぞよ。
http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp-conformance-roadmap.aspx

それでもconstexprは2013に入らず。。
0580KUSO KOTE2013/06/29(土) 07:39:01.43
ああ、現地で聞いたのか。すまぬ。
0581デフォルトの名無しさん2013/06/29(土) 09:45:22.93
ハーブサッターってMSの人だったのか
今さらながら知った
0582デフォルトの名無しさん2013/06/29(土) 12:48:36.78
LINQをC++11に提案してたじゃない。
0583デフォルトの名無しさん2013/06/29(土) 12:50:11.62
LINQはC++11に入ってもいいと思う
C#で使いまくってるけど本当便利
STLでも同じ事ができるけど、それをさらに分解した感じがするのと、
遅延評価という点と、INTO句で更に絞り込みを掛けれるしな
0584デフォルトの名無しさん2013/06/29(土) 13:16:43.35
GCの無い言語との親和性はどんなものだろう

あとLINQは横糸の技術で理解されにくい
0585デフォルトの名無しさん2013/06/29(土) 13:29:09.74
いい香りがしそうなお名前ですね
0586デフォルトの名無しさん2013/06/29(土) 14:27:01.71
LINQ をゼロオーバヘッドで実装できたらすごいな
0587デフォルトの名無しさん2013/06/29(土) 14:30:38.20
お前、ゼロオーバーヘッドの意味わかってないだろ
0588デフォルトの名無しさん2013/06/29(土) 14:48:53.56
絶対そういわれると思った
真意は、LINQ を使う箇所はそれ相応のコストを覚悟する
しかし、それ以外の部分の実行に余分なコストがかかっては嫌だと言うこと
例えば、LINQ を使うためには、全てにおいて GC 必須とかね
0589デフォルトの名無しさん2013/06/29(土) 15:01:17.34
>>588
LINQを使ったC#をVC++から呼び出せば
ゼロオーバーヘッドだぜ
0590デフォルトの名無しさん2013/06/29(土) 15:05:21.47
>>589
そ、それで C++ LINQ サポートて言えるのか?
0591デフォルトの名無しさん2013/06/29(土) 15:20:43.43
P/Invokeの逆版か
0592デフォルトの名無しさん2013/06/29(土) 17:11:21.58
でもC++11はC#に比べてラムダがめんどくさい作りなのでLINQに対応しても
C#ほどには楽にはならなそう。

C#の場合
var ret = list.Where(x => x.a == 1).Select(x => new { x.a, x.b });
C++11の場合
auto ret = list.Where([](data& x){ return x.a == 1; }).Select([](data& x){ return tuple<int, string>(x.a , x.b); });
0593デフォルトの名無しさん2013/06/29(土) 17:56:18.13
C#ってコンパイラが賢いのになんであんなにコンパイル速いん?
0594デフォルトの名無しさん2013/06/29(土) 18:41:31.89
実行速度が遅きゃ何にもならん
0595デフォルトの名無しさん2013/06/29(土) 18:48:17.37
ヒント:VM
賢い機能はVMに丸投げ、実はVMが頑張ってる
0596デフォルトの名無しさん2013/06/29(土) 19:12:15.97
禿「LINQはテンプレートライブラリで実装して提案してね」
と終了
0597デフォルトの名無しさん2013/06/29(土) 19:39:16.76
>>592
それってLINQじゃなくね?
0598デフォルトの名無しさん2013/06/29(土) 19:55:39.93
ヘジたんはコンパイルが高速な事にMSに移ってもこだわってるわけか

おっとスレ違いになるな

>>597
クエリメソッドとラムダ式を使っているだけでLINQの一種
0599デフォルトの名無しさん2013/06/30(日) 00:58:13.99
>>592
なにそのC++11のコード。 つまり使うなってことか
0600デフォルトの名無しさん2013/06/30(日) 01:17:37.62
>>599
>>522はLINQでも何でもねーよ
>>522をシンタックスシュガーで読みやすくしたのがLINQ
0601デフォルトの名無しさん2013/06/30(日) 01:30:01.52
シンタックスシュガーという言葉が万能薬だと思うなよ
コンパイラが内部で変換してくれているんだ
ありがたく思え
0602デフォルトの名無しさん2013/06/30(日) 01:32:26.75
クエリ式だけをLINQだと勘違いしてる奴は結構いるんだな
スレチだからこのくらいにしとくけど
0603デフォルトの名無しさん2013/06/30(日) 01:39:04.87
クエリ式をLINQじゃないと勘違いしている奴は結構いるんだな
0604デフォルトの名無しさん2013/06/30(日) 01:44:25.56
そんなことより、>>600のアンカー間違うなよ
0605デフォルトの名無しさん2013/06/30(日) 10:56:25.30
クエリ式のLINQしか知らない奴が >>592 にそれはLINQじゃなくね?といったら、
メソッド形式のLINQがあることを指摘されて、激おこぷんぷん丸になっちゃたのか。

コンパイラ作るのが一番難しいと言われているC++にクエリ式を導入するのは
難しいんじゃないかな。
メソッド形式ならyieldを言語機能に追加する以外はライブラリでなんとかなりそう。
ラムダはC++14で若干楽になるようだけど、C#並に簡単にならないとLINQで
使いこなせる人はかなり限られてしまうのでは。
0606デフォルトの名無しさん2013/06/30(日) 11:10:55.53
yield return がないとシステムコールなしではコルーチンが作れないし不便だよなあ
0607デフォルトの名無しさん2013/06/30(日) 11:11:47.58
>メソッド形式のLINQ
それはLanguage Integrated Queryを実現
するために必用なメソッド群であって
Language Integrated Queryではない
0608デフォルトの名無しさん2013/06/30(日) 11:36:40.38
>>607
もう見苦しいからやめなよ(´・ω・`)
0609デフォルトの名無しさん2013/06/30(日) 12:07:54.07
C#スレで仕様書つき合わせてやれ
0610デフォルトの名無しさん2013/06/30(日) 12:27:26.93
ところで、C++14の目玉機能を
俺に10行以内で教えてくれ。
0611デフォルトの名無しさん2013/06/30(日) 12:35:22.46
ラムダが完成した
0612デフォルトの名無しさん2013/06/30(日) 14:51:32.54
軽量版concept
0613デフォルトの名無しさん2013/06/30(日) 16:57:59.67
>>612
そんなのあったっけ?
0614はちみつ餃子 ◆8X2XSCHEME 2013/06/30(日) 18:11:18.92
>>613
constexpr との融合でなんちゃらっていう話じゃなかったっけ?
http://cpplover.blogspot.jp/2013/02/concept.html
0615デフォルトの名無しさん2013/06/30(日) 19:07:25.06
>>614
先日の委員会ドラフトに見あたらないのだが…
0616デフォルトの名無しさん2013/06/30(日) 20:14:21.25
小粒だが言語仕様自体への変更はどれも目玉だろ
・lambda式の初期化キャプチャ
・ジェネリックlambda式
・constexpr関数の制限緩和
・実行時要素数指定配列
・関数の返却値型推論
0617デフォルトの名無しさん2013/06/30(日) 21:50:19.99
軽量版って使い物にならいおまけってことか
0618デフォルトの名無しさん2013/06/30(日) 21:58:59.65
>>616
最後の2つはすごい変更だな。
0619デフォルトの名無しさん2013/06/30(日) 22:00:27.46
実行時要素数指定配列ってdynarrayクラスじゃなくて
C99みたいな奴?
0620デフォルトの名無しさん2013/06/30(日) 22:36:17.68
構造化アセンブラなだけだと言われたC言語が複雑怪奇もいいところになってきたな
これでネイテブなんだから凄い
0621デフォルトの名無しさん2013/06/30(日) 22:37:24.72
iostreamとかSTLの部分のコードを見ると失神しそうになる
0622デフォルトの名無しさん2013/06/30(日) 22:37:51.20
もちろん、ゼロオーバーヘッドキィーック!!
0623デフォルトの名無しさん2013/06/30(日) 22:46:11.74
boostのVC++対策のifdef部分読むと頭が禿げる
0624デフォルトの名無しさん2013/06/30(日) 23:42:29.25
int (*a)[x]=new int(*)[y][x]; みたいな?
0625デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
スレタイ見てC++18まで来たのかと思ってしまった。
0626デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
それはそれで、おもろいな
0627デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
C++17の作業中だしC++18になる可能性は十分ある
0628デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
そろそろ新しいiostreamを考えてもいいんじゃないかと
0629デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
iostreamみたいな糞はもう要らん
0630デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
うむ、そろそろメジャーチェンジきぼんぬだね
0631デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
iostreamを使ってる奴は情弱確定
0632デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
auto z = composable_functor(a) >> b >> c >> d;
std::cout << a << std::endl;
みたいなライブラリ書いて使ってる俺冷や汗の流れ。
演算子をオーバーロードして別の用途で使うのはやっぱ醜いッスか?
0633デフォルトの名無しさん2013/07/01(月) NY:AN:NY.AN
CUI?
0634デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
GUIのことグイって人いるけど、
CUIはキュイ?
ギニュー特戦隊みたいだw
0635デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
iomanip さんが使えない子なので iostream さんも要らない子
0636デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
>>634
CUIというのは、ないらしい(日本人には、通じるが、アメリカ人には、通じないかもしれない)
0637デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
CLI(Command Line Interface)とかText UI
0638デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
TUIは罫線使ったり色変えたりしてGUIの一種じゃね?ってイメージ
0639デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
コマンドラインがゆるされるのはテレタイプまでよね
0640デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
>>636
ホントか?
C:\>dumpbin.exe /headers test.exe
Microsoft (R) COFF/PE Dumper Version 11.00.60315.1
OPTIONAL HEADER VALUES
3 subsystem (Windows CUI)

この「CUI」の表示は少なくとも
Windows 3.1の時から見かけるのだが
0641はちみつ餃子 ◆8X2XSCHEME 2013/07/02(火) NY:AN:NY.AN
Subsystem を表す定数として WINDOWS_CUI というのが公式に定義されてるな。

http://msdn.microsoft.com/en-us/library/ms809762.aspx
0642デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
くいっくいっ
0643デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
はい。次の方。
0644デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
悔いの無い人生を送りたいのですが
0645デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
んー、次っ!
0646デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
>>644
だったらC++の最新規格をリアルタイムに追いかけるようなことはしない方がいい。
どうせ実務では使わせてもらえないんだから、無駄にストレスが溜まるだけw
0647デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
でも、CUIの無い人生をなんて考えられません
0648デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
総理、ここは突っ込んだら負けですぞ…
0649デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
>>647 へんたいよくできました
0650デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
たいへんよ できました
0651デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
うまかっ です。
0652デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
ワロタw
0653デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
今日も平和だ風邪ひいた
0654デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
CUNッ、があったらナッパできるのになぁw
0655はちみつ餃子 ◆8X2XSCHEME 2013/07/02(火) NY:AN:NY.AN
ここまでイルククゥの話題なし
0656デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
C/C++が進歩して色々便利にはなったが、これ以上複雑化しても意味あるんだろうか?
ネイテブで専門アプリが要求されない限り選択肢はC++しか無くなってきたがC++自体が
まるでスクリプト言語の仕様を全部飲み込んだような物になっても保守が大変になる。
仕事で新規のが少ないんだし
0657デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
そもそも複雑化してるかな?
autoとか戻り値の型推論で煩わしい部分を簡略化してて寧ろ楽になっていってる。
constexprもC++14が実装されれば普通に書けるようになるし?

俺としてはテンプレート+プリプロセッサなコンパイル時スクリプトが欲しい。
テンプレートの展開を転用してロジック書こうとするから黒魔術になる。
いっそ定数と型を扱うコンパイル時スクリプトを実装した方が絶対便利だと思う。
0658デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
あれだな
コーディングは楽になったな
保守はやりにくくなったかもしれん
0659デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
shared_ptrやautoは革命。
その他STLも素晴らしいよ。
0660デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
STLとは何ぞや?
1.iostreamはSTLですか?
2.stringはSTLですか?
3.auto_ptrはSTLですか?
4.regexはSTLですか?
0661デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
言語仕様の全容を把握できるか自信がなくなってきた
C++11の巨大さは、AdaとかCommon Lispもびっくりな気がする
0662デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>656,658
「保守」ってのがどういう仕事を想定しているのかわからない。
C++11 以降の改定によって大変になることの具体的な例があったりする?
0663デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>662
保守ってのは拡張・デバッグ・他製品との統一ってのも知らんのか?
新規ソフトは会社が嫌う。技術者が見たら明らかに新規のが早いってのも保守をやらせる
C++はオモチャじゃないんだ。気付かないうちにライブラリが増えるだけでも保守の為の
システム把握に手間が増える。つまり開発費用が嵩む
0664デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>663 C++11 以降の改定による具体例たのむ
0665デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>664
例えばだけど、
auto a = b.getX();
a.write(obj);
とかされてたとして、write 付近に何かの不具合があったとする。
すると、先ずは write の仕様を確認したいが、型がわからないので、b から調べる羽目になる。
まあ、MS で言うところのインテリセンス系の技術が発達すれば問題なさそうだけど、明らかにコードの視認性が悪くなってるよね。
0666デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
コードがすっきりして
必用なときはマウスを持ってくと表示されるから
視認性はばつ牛ンだわ
IDEが無かったら厳しいな
06676552013/07/03(水) NY:AN:NY.AN
>>665 の追記だけど、一人で開発してる分には多分問題ないと思うんだ。
ある程度把握できるような思想で統一的に作ったりするだろうし。
他人のコードとかが問題だよね。
06686552013/07/03(水) NY:AN:NY.AN
>>666
まんまの見た目はスッキリするけど、、、
何て言うのかな、透過性って言ったらいいのかな。
見ただけではクラスの関連がわからなくなるじゃん?
0669デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
>>668
関数名がクソだとそうだけど
auto a = b.getX();
この場合は明確だろ?
06706552013/07/03(水) NY:AN:NY.AN
>>669
ま、まあ、それは一例だからね。
チーム開発をしてると、クソ名も多くなってくるけど、そんなのいちいちチェックできないし。
大抵、不具合発生してからなんじゃこれーってね。
0671デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
関数名もそうだけど変数名も重要
この二つが不適切な名前だとカオス
0672デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
現状のインテリセンスってテンプレートクラスや関数内ではテンプレートに纏わるアシストの
効きが落ちるのが不満。
template <class X>のXが不明なうちはアシストしようがないって理屈は分かるんだけど
[intellisense: X = optional<o>, bool, tumuyatumazaruya] template <class X>
とか書いて仮の型を(インテリセンスに対して)提示することでアシストが効くようになってほ
しい。
0673デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
最近のC++は脳内コンパイラがないとコーディング困難とかいう記事をどこかのブログで見た。
なるほどって思った面もあるんだけど、scalaみたいにインタプリタを提供すれば脳内コンパイルの
助けになると思うんだよな。そういう点も含めてclangに期待してる。
IDEの補助とC++インタプリタを使えれば、コーディング凄い楽になると思う。
0674デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
そもそも全部を把握してる必要あるの?
誰も使わなくなったら終わりなんだからC++は簡単になっていかなければ未来はないよ
今は簡単になっていってると思うよ
0675デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>674
全部は無い。だがプロには未知の機能を使う事を強いられる時が多い
0676デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
ジェネリックラムダとか
「こういう機能です」じゃなくて
「こういう関数オブジェクトクラスが
生成される」と理解しないと
厳しいものがある
あとfor (:)も
0677デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
ラムダは「なんでそう記述できるのか」理解しないと使いこなしにくいわな
0678デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
自分が使える機能だけ使えばいいじゃん。
コードが読みにくくなるのは、ほとんどプログラマーのせい。
理解できないものには手を出さなければいい。
0679デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
プログラマは書けるだけでは半人前
誰が書いたコードでも読めるようになって一人前
誰が書いたコードでも読めると胸張って言うには全てを把握する必要がある
0680デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
IOCCCみたいなプログラムは読む必要がない
いや読めない
0681デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
Boost.MPLバリバリのも勘弁
0682デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>681
慣れると読めるというか、苦労するけどなんとか追える。
Lokiも登場当時はイミフすぎバロスだったけど、今では意外と普通?って気すらする。
0683デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>679
一人前である必要のある人間だけが読めればいい。
一山いくらの連中のために仕様を削る必要はない。
0684デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
仕様自体は増えてるけど、汚いパッチワーク仕様や今となっては意味のないクソ機能・クソライブラリが
どんどんdeprecated逝きしてるから、1から学習する分にはずいぶん学びやすくなってると思うんだけどなあ
0685デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
C++はゆとり機能を色入れてグダグダになったって感じだからな
0686デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>665
キミはそのコードが a.write(b.getX()); となっていたら「コードの視認性が悪い」と言うのかね?
0687デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>686
>>665 はa.write(b.getX());とかが視認性悪いって言っているんじゃないと思う
auto使っていることが>>665の視認性悪いにつながっている
頭悪いと、そんなレスするのかなって気がする
0688デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>687
auto使ってなくたって「write の仕様を確認したいが、型がわからないので、b から調べる羽目になる」という結果は同じだろ。
06896552013/07/04(木) NY:AN:NY.AN
>>688
autoでなければaの型がわかるのだから、直接aを調べれば良いのでは…
0690デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
C言語を(古っ)覚えた後は他の言語(慣れ親しんだBASICでさえ)文字列型変数って何?!ってなった
0691デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
>>689
auto使ってなくたってa.write(b.getX());でも同様に型がわからないという状況は発生する、と言っている。

あと、番号コテ間違ってるよね、たぶん。
06926652013/07/04(木) NY:AN:NY.AN
>>691
えっ?
元の例え話が、
> auto a = b.getX();
> a.write(obj);
なのだが、
auto を使わないと言う事は、
A a = b.getX();
と言う事なので、型は明確だよね…

で、定義が遠い場所にある場合は、確かに君の言う通りかもしれない。
でもね、元々は auto を使う事で発生しうる不利益の一例をあげたのだから、この例にそぐわないケースで反論されても、その通りだね、で?としか言いようがないのだが。

あ、番号スレの指摘ありがとう。
マジで気付いてなかった。
06936652013/07/04(木) NY:AN:NY.AN
×番号スレ
○番号コテ
0694デフォルトの名無しさん2013/07/04(木) NY:AN:NY.AN
C++11って可読性が著しく低下してない?
0695デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>692
C++11以降の規格改訂で増える保守の手間とは?
↓
例えばautoによってこんな問題が。
↓
それautoじゃなくても前から同じ問題起こり得る(んだから
規格改訂で発生した問題ってわけじゃない)よね?
↓←イマココ
0696デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>694
たとえば?
0697デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>694
規格の全項目読破が可能かどうかという意味の「可読性」なら同意する。
06986652013/07/05(金) NY:AN:NY.AN
>>695
いや、だから、auto が故に起きた問題を例示したじゃん。
それを、違う例にすり替えて反論されても、話の筋が通ってないでしょ?
0699デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>695
autoの使い方によって読みづらくなるケースがあることには反対していない。
それが規格改訂によって発生する問題であるという主張に疑義を示している。
0700デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
autoはむやみに使わない/使わせないようにしないとダメだね
0701デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>696
宣言部分で曖昧なソースでは整数・実数・文字列とかの時代と違って複雑な階層を持つ
クラスを定義されたら何が起こってるのか把握しにくい。

>>697
それほど?C++使いがいなくなりそうだ。むしろトドメを刺す気だろうか
07026652013/07/05(金) NY:AN:NY.AN
>>699
規格改訂によりauto が取り入れられて、そのauto の使い方で発生しうる一例を挙げた。
規格改訂がなければあの例のケースは発生し得ないよね?
そこは納得してもらえる?
0703デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>699
規格改訂によって発生する問題と
a.write(b.getX()); がどう関係するんだ?
a.write(b.getX());は規格改定でできるようになったのか

>>700
アホなことにauto使わないってことだな
0704デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>702
699に書いたとおり、そこは承知。
0705デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
autoが「型が明確で無くなる」として害悪であり避けられねばならないと言うのなら、
同じ理由で「関数の引数に他の関数呼び出しその他クラス型に依存する式の結果を
直接渡すことは、型が明確で無くなるので避けるべきである」などと主張することに
なるのではないか、後者のような主張をしないとすればautoと何が違うことによるのか。
07066652013/07/05(金) NY:AN:NY.AN
>>705
違う違う。
型が明確でなくなるのではなくて、人間が確認するときの手間が増える事を問題視してるのよ。
静的型付け言語なんだから、型は常に明確だよ。

ただ、templateを駆使すると、型が複雑になるからコーディングが大変。
そこでautoの登場でコーティングが楽になる。
反面、読むのは辛くなるから保守に影響しそうと言うのが、僕の主張ね。
0707デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>665 の例とその後の話を繋げるには a.write(b.getX()) じゃなくて b.getX().write(obj) を考えないとダメだね。
07086652013/07/05(金) NY:AN:NY.AN
>>707
そうだね。
それなら確かにauto関係なしだね。
0709デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
auto x = b.getX();
a.write(x);
とした時にxの型が一目で確認できないというなら
a.write(b.getX());
だって一目で確認できないから同じでしょ?
って話じゃないの?

後者はa.write()の引数の型から分かるってこともあるけど
a.writeがオーバーロード持ってたら?とか
a.writeがtemplate<F>を引数に取るとしたら?とか
考えると、前者と後者には確かに大した差はない。
0710デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>707
あ・・・大変申し訳ない。見間違えてた。

ただ、示している疑義については変わらない。

C++コードを保守するプログラマはC++98時代からb.getX().write(obj)のような式が
存在する世界に居るわけで、autoによって>>665のような例が発生するとしても
それによって保守の手間が増えるなどということはない、あるいはたいした違いでは
ないだろう、と。
07116652013/07/05(金) NY:AN:NY.AN
>>709
それは全然話が違うです…
07126652013/07/05(金) NY:AN:NY.AN
>>710
んー、確かにね。
その例ならこちらも納得せざろう得ないなあ。
ま、可能性があるかもねくらいに受け取ってもらえればよしとしようかな。
0713デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>a.write(b.getX());
>だって一目で確認できないから同じでしょ?

その通りだと思うし、2行に分けて書いた方がいいと思う
0714デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>710
auto aだと、クラス名が分からない
でも、XXXX a だと、クラス名が分かるからコードの理解に少し役立つから少し安心。
保守の手間って言うより、その場での可読性だと思う
>>665例だと 俺はautoじゃなくクラス名にしろってなる
0715デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
「C++はオーバーロードで可読性がー」とか「仮想関数で可読性がー」とか喚いてたCジジィと同じ感覚かな。
0716デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
しかし、アレだな
例が hoge じゃないだけで、かなり良スレ化したな
俺はむしろその点を評価するぜ
0717デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
そもそも現在においてIDEの補助がない世界を考える必要ってある?
scalaは猛烈に複雑な型を扱うことがあるけど、IDEの補助を前提とする限りは問題にならない。
極論でauto使用禁止とかいう話になったらbindとかクソ面倒臭くてやってられなくなる。
必要な時にはIDEがいつでも即座に型を提示してくれる世界では、人は型を明示的に書く必然性はない。
今後現れるであろうより複雑な型を扱うには、そういう前提が必要になってるんだと俺は思うんだけどな。
0718デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
IDE の補助がない環境の方がまだ多いと思うぞ
0719デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
え〜、うそ〜ん、ヤダそんな世界。俺泣いちゃうw
0720デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
チーム開発で bind は悪
0721デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
WindowsならVSがあるが、Linux系でC++開発やってる人って、
IDEは何使ってるんだろ
0722デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>717
俺はVSだけで組み込みやったことないけど
組み込み系のIDEではろくな補助がないのが多いんじゃないのかって気がする。
あとLinux系で使うIDEは即座にautoの型を提示してくれるのが普通なのかな
0723デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
eclipse CDT とかかね?
0724デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>721
emacsかviにきまってるだろがjk
0725デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>722
NetBeansはVSに劣らない機能があるよ。
EclipseはCDTの評判がここ最近頗る悪いらしいがどうなんだろう?
あとvimはclang(のフロントエンド?)と組み合わせるとエディタの範疇を遥かに超えるほど
強力って話は聞いたことあるけど、エディタ派生のIDEもどきって全然いい印象がないw
0726デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
viにきまってるだろがjust kidding
0727デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>NetBeansはVSに劣らない
笑わせてもらった
0728はちみつ餃子 ◆8X2XSCHEME 2013/07/05(金) NY:AN:NY.AN
Emacs なら CEDET を入れるのが鉄板かなぁ。
補完候補を表示してる様子とかのスクリーンショットがこのページにあるよ。
http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html
設定が何かと面倒くさくはあるので、細かいカスタマイズの手間をかけたくないなら NetBeans の方がいいかも。
カスタマイズの余地は Emacs の方がかなり大きいと思うので好みによるだろうな。
普段から Emacs を使っている人は C++ のために NetBeans を入れたりはしないんじゃないかな。
0729デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
eclipse過小評価されすぎワロエナイ
eclipseも型表示くらいできるし、vsなんかリファクタリング機能すらないヘッポコだろ?
0730デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
linuxな方々って設定ファイルを手書きすることに対してなんかこう思うとこはないんかな?w
0731デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
思わないからリナックスなんです
0732デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>687
痛い所疲れたら逆切れ
恥ずかしw
0733デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
>>716
例に「hoge」を用いる文化ってどこが発祥なの
0734デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
fjあたりじゃね?
キモヲタウニクサー
0735はちみつ餃子 ◆8X2XSCHEME 2013/07/05(金) NY:AN:NY.AN
http://kmaebashi.com/programmer/hoge.html
0736デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
いつまでもしつこいんだよhogeハゲ
0737デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
どうしてhogeで発狂するキチが生成されるようになったんだ?
0738デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
ファクトリにもクラスとインスタンスがあってだな
0739デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
C++使いを多態したらHogeで基地になるバグが....
0740デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
半端に知識があるだけで自分のレベルが高いと勘違いしていたところをhogeを多用する人にか場所でフルボッコされたんだろ
0741デフォルトの名無しさん2013/07/05(金) NY:AN:NY.AN
プログラムはテクニックが要るからな。
0742デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
>>740
どうしてそういう卑屈な発想になるんだ
普通に人に説明する際、特に意味の無い名前
にhogeは不適切だろ?
0743デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
pee poo
0744デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
pee pooを流行らせよう
0745デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
class poop
0746デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
このスレのおかげで、適当な変数名なんかにUnkoとかKusoとか付ける癖がついてしまったw
うっかり会社でやりかねんw
0747KUSO KOTE2013/07/06(土) NY:AN:NY.AN
それはなによりです
struct unko_del final {
};
0748デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
unkoなら直ぐに意味の無い名前とわかるけど
hogeは一般人には通じないから問題だと思う
0749KUSO KOTE2013/07/06(土) NY:AN:NY.AN
ご参考:規格3.9p6(Types)
typedef int UNKA[];
UNKA* arrp;
0750デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
流石に自演だと思いたい。
クソスレ化する原因は大概たった一人のクソスレメーカーが自演で暴れた結果なんだよなw
0751デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
人間は誰しもクソメーカー。
0752デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
いやUNKOはじわじわ来るぞw
てかこのクソスレに書き込んでるの
5、6人くらいだろ
0753ウェルノウン ◆9Ce54OonTI 2013/07/06(土) NY:AN:NY.AN
よーし、じゃあトリ付けて数えてみようか。
まずはオレから。
0754 ◆9Ce54OonTI 2013/07/06(土) NY:AN:NY.AN
どれどれ
0755 ◆9Ce54OonTI 2013/07/06(土) NY:AN:NY.AN
このスレには8X2XSCHEMEと9Ce54OonTIの
二人しか居ないようだなw
0756デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
hogeよりUNKO・KUSOのほうがはるかに良い!
UNKO・KUSOなら初心者でもどんなものか分かるし
0757デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
unko: バカかこいつ
hoge: 氏ね
0758デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
おい、江○添の7/3のブログに
コメントしたのおまえらだろ絶対
0759デフォルトの名無しさん2013/07/06(土) NY:AN:NY.AN
(≧∀≦)ゞ
0760デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>742
別に何でもいいんじゃね?
まあ、俺は使わないけどな
ホゲとか言うのがはずかしいわ
0761デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>742
hogeを使うことの是非に関する意見はともかく
C++関連スレでhogeを使うなと騒いでる人の行為を抽象化して客観視すれば
どういう人であるか、そういう人の行動原理はなにに基づくことが多いかは自然に感じるところがある

・目標に知らせずに長期にわたって目標の行動を継続的に監視、動きがあれば速やかに反応
・目標のなにげない行動一つをきっかけにして、目標やその周囲の反応を無視して自身が満足するまで執拗に行動を続ける
・目標の言動を自分に都合よく解釈して目標の人格・思想・感情を決めつけて、目標自身やその周囲から否定されても認識を変えない
・行動を糾弾されると理由にならない理由を持ち出して自分の行為の原因は全て目標にあると責任回避・自己正当化

実体が一人の人間ではなくても総体としてよくまとまった行動が可能な集団の構成員なら各自の根本に共通するものがある
0762デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
むしろC++関連すれでは
hoge使いの方が基地外
0763デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
・気にしない人(普通)
・hoge で釣り針垂らす人(2ch)
・hoge に激しく反応する人()
と言う構図だろ
0764デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
釣り糸たらす奴は激しく反応する基地で遊ぶためだし
簡単に釣れ、キチ反応じゃ遊ばれるよね
0765デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
なんかC#のようにあらゆる物を取り込んで積荷と偽装で沈む船みたいになりそうな
0766デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
hoge志向だからそうなる
0767デフォルトの名無しさん2013/07/13(土) NY:AN:NY.AN
hoge思考言語C++
hogeeeeeeeeeeeeeeeeeee!
0768デフォルトの名無しさん2013/08/08(木) NY:AN:NY.AN
おまえら少しはC++11の規格に関して話せよ
hogehogehogehogeうっせーよ
0769デフォルトの名無しさん2013/08/09(金) NY:AN:NY.AN
hagehageいうなhage
0770デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
VisualC++2010のC++11対応状況はどんな感じですか?
0771デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
うんこ
0772デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
autoとnullptrぐらいじゃね
0773デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
ムーブやラムダもかろうじて
0774デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
でもラムダ式くらいは使えるのでしょう?
0775デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
右辺値参照も一応ある
0776デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
11から13のdiffを簡単に教えてくれ
0777デフォルトの名無しさん2013/08/10(土) NY:AN:NY.AN
>>776
右辺値参照の暗黙の変換っていうんだっけ?

void func(string&& str); が、
VC++11 では、func("xxx") では呼ばれないが、
VC++13 では呼ばれるようになった。
0778デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
早くideoneでthread使えるようにならないかなかなかなー
0779デフォルトの名無しさん2013/08/11(日) NY:AN:NY.AN
fork爆弾でつぶされる、に1000ペリカ
0780デフォルトの名無しさん2013/08/25(日) NY:AN:NY.AN
C/C++はコンピュータで何が起こってるのが分かるから好きだし裏ワザも使えるが
C++11は危なそう
0781デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
型推論を理解していなければそうみえるだろう
TAPLよめTAPL
0782デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
C++11便利すぎてたまらん。
もう離れられん。
0783デフォルトの名無しさん2013/08/26(月) NY:AN:NY.AN
C++11程度と一緒にされたら、真面目に型推論を実装してる言語の人達は怒っていいと思う
0784デフォルトの名無しさん2013/08/29(木) NY:AN:NY.AN
>>783
十分使い勝手いいよ
そら静的型付の関数型言語には負けるが
0785デフォルトの名無しさん2013/09/02(月) 05:21:55.95
自演?
0786デフォルトの名無しさん2013/09/05(木) 01:44:03.58
http://www.open-std.org/jtc1/sc22/wg21/
News 2013-09-04: The deadline for the next mailing is 2013-10-11
News 2013-09-04: The 2013-09-pre-Chicago mailing is available
News 2013-09-04: The C++ Standard Core Language Issues List (Revision 85) is available
News 2013-09-04: The C++ Standard Library Issues List (Revision 84) is available
0787デフォルトの名無しさん2013/09/08(日) 13:19:17.26
>>786はコミュ障
0788デフォルトの名無しさん2013/09/08(日) 16:15:38.17
実装というか今後、企画を満たすコンパイラがどの程度普及するのかも問題
0789はちみつ餃子 ◆8X2XSCHEME 2013/09/08(日) 20:05:24.47
>>788
× 企画
○ 規格
0790デフォルトの名無しさん2013/09/08(日) 21:25:28.51
GCC/Clang は C++14 対応に関してそう長くはかからないだろうし、
VC++ もそろそろ本気出すらしいって話だけどね。
0791デフォルトの名無しさん2013/09/08(日) 21:28:39.82
Windows 8.1出てから本気出す(たぶん)
0792デフォルトの名無しさん2013/09/08(日) 22:55:51.61
>>783
そんなことないよ
C++はかなり厳密な型システムを持ってる
0793デフォルトの名無しさん2013/09/08(日) 23:15:05.31
>>792
strong typingでなくtype deductionの話なのだが
0794デフォルトの名無しさん2013/09/08(日) 23:21:17.76
>>783
明確な一線が存在するが、
それで「怒る」ってのは不自然だな
残念ながら「笑う」が現実だと思う
0795デフォルトの名無しさん2013/09/09(月) 00:18:51.85
>>792
キャストでconstはずせるしdynamic_cast使わずにvoid*から適当な型にキャストできるけどな
0796デフォルトの名無しさん2013/09/09(月) 00:26:51.99
>>795は「厳密な型を持つ」と
「型を無視する抜け道が存在しない」
の区別が付かない人
0797デフォルトの名無しさん2013/09/09(月) 00:27:26.06
>>795
絶対的で硬直化した「型システム」と
必要悪を必要悪と認識したうえで危機管理できる「型システム」ってやつだな

どちらが良いか、この場では言及を避けるが
未知(でなければ金とれない)案件でどちらを選ぶか

後者あっての前者がそのあるべき立ち位置だが
それすらも傲慢な態度で撥ねつける、原理と違う原理主義者が蔓延るのも現実で
0798デフォルトの名無しさん2013/09/09(月) 00:29:48.93
研究する上では抜け道は無いものとして扱うけど
現実の処理系には抜け道がある、ってのが典型的
0799はちみつ餃子 ◆8X2XSCHEME 2013/09/09(月) 02:13:40.44
元の話は抜け道がどうとかじゃなくて >>781 の型推論の話だろ。
型推論の強力さは Haskell 等に比べれば確かに C++ は複雑なばかりで強力とは言えない。

だけどあまり強力な推論はプログラマの意図の外のまるっきり考えてなかったところで型が嵌ってしまうことがあり、
やっぱそこそこでいいやっていう説もあって、その意味でも C++ は現実的な折り合いが付くポイントを探しながら、
発展を続けていると言える。
0800デフォルトの名無しさん2013/09/09(月) 10:55:05.38
>>799
何も言ってないのと同じだな
0801デフォルトの名無しさん2013/09/09(月) 11:13:25.52
>プログラマの意図の外のまるっきり考えてなかったところで型が嵌ってしまう
のはC++のほうが多そうな罠
なんだよ括弧の有無で動作が違うって…
0802デフォルトの名無しさん2013/09/09(月) 13:00:18.61
リリリリら
0803デフォルトの名無しさん2013/09/09(月) 15:13:38.75
>>799
>だけどあまり強力な推論はプログラマの意図の外の
>まるっきり考えてなかったところで型が嵌ってしまうことがあり
ねえよwありえねえよw
想像だけで語るなよw
0804デフォルトの名無しさん2013/09/10(火) 00:00:40.32
型推論の宗教論争はともかく
decltypeちゃんがどんどん黒魔術に成り果てていくのが見てて辛い
0805デフォルトの名無しさん2013/09/10(火) 00:35:09.33
>>796
それをわかった上で抜け道があることが厳密性を破壊してるって指摘してるんだけど
0806デフォルトの名無しさん2013/09/13(金) 14:04:32.77
scalaとかIDEなしだとどんな型になってるのか訳が分からん。

>>804
decltypeちゃんとautoさんはバギーな脳内コンパイラをよしなに補ってくれる天使
0807デフォルトの名無しさん2013/10/02(水) 18:13:41.49
std::optional さんの命運や如何に
0808片山博文MZコスモ ◆T6xkBnTXz7B0 2013/10/07(月) 13:14:59.86
C++ reference (CHMファイル)ができたよ。
https://dl.dropboxusercontent.com/u/72753355/cppreference-20130510-0.zip
0809デフォルトの名無しさん2013/10/07(月) 16:25:48.96
日本語訳しといて。
0810デフォルトの名無しさん2013/10/08(火) 01:48:57.64
おう
0811デフォルトの名無しさん2013/10/11(金) 07:29:32.38
shared_ptr遅くね?
0812デフォルトの名無しさん2013/10/11(金) 07:41:10.88
shared_ptrより万倍遅いやつがいるから大丈夫
0813デフォルトの名無しさん2013/10/12(土) 12:47:44.64
http://d.hatena.ne.jp/gintenlabo/20110725/1311606012
http://itr0510.blogspot.jp/2011/02/sharedptrintrusiveptr_27.html
shared_ptrを管理して高速化することは出来るみたいだけど、ちゃんとしたライブラリあるんかな?
0814デフォルトの名無しさん2013/10/12(土) 12:51:52.08
>shared_ptrを管理して高速化
バカの発想はどうしようもないな
0815デフォルトの名無しさん2013/10/12(土) 14:15:42.13
だいたいshared_ptrのオーバーヘッドが問題になるくらいの使い方ってどんなのよ?
ベンチマークか?
0816デフォルトの名無しさん2013/10/12(土) 14:29:14.37
shared pointer等からアドレスをとって、それに対して何らかの処理をしていると、
何らかの処理にかかる時間の方が随分と大きくなるのが当たり前。
shared pointerと生pointerの違いがベンチマークで表面化することは、普通はあり得ないくらい
shared pointerによるオーバーヘッドは極めて微量。
0817デフォルトの名無しさん2013/10/13(日) 05:45:20.73
ナパームドライバー!
0818デフォルトの名無しさん2013/10/13(日) 06:32:53.66
make_shared使ってるか?
0819デフォルトの名無しさん2013/10/13(日) 14:58:51.88
make_sharedの方がコンストラクタ呼んでくれるから便利
0820デフォルトの名無しさん2013/10/13(日) 15:19:26.21
make_uniqueが11で入らなかったのが不思議
0821デフォルトの名無しさん2013/10/13(日) 15:41:00.82
元となったBoost.SmartPointersに無かったからじゃない?14では提案されているし
0822デフォルトの名無しさん2013/10/13(日) 16:04:54.50
宣言にauto 使えるだけでshare_ptr ほどにはご利益が無いじゃん
0823デフォルトの名無しさん2013/10/13(日) 16:06:42.84
newを隠せるとか
0824デフォルトの名無しさん2013/10/13(日) 20:34:08.69
多次元配列を実装してくれ
0825デフォルトの名無しさん2013/10/13(日) 21:21:26.38
多次元配列なんていらんだろ。
0826デフォルトの名無しさん2013/10/13(日) 21:25:17.27
自分でできるだろ。
0827デフォルトの名無しさん2013/10/14(月) 04:19:15.42
>>824
多次元配列や行列はハードウェア固有機能を使った最適化の影響が大きい
汎用品では性能差がありすぎて実用的ではない
0828デフォルトの名無しさん2013/10/15(火) 11:12:30.00
shared_ptrで気になるオーバーヘッドって、マルチスレッド対応で同期処理してる部分のことじゃないの
0829デフォルトの名無しさん2013/10/15(火) 11:13:52.29
>>828
shared_ptrに同期保証なんてあったの?
0830デフォルトの名無しさん2013/10/15(火) 11:43:33.74
std::shared_ptrはアトミック保証
0831デフォルトの名無しさん2013/10/15(火) 11:59:02.91
atomic = 同期 とは限らんからなあ。

N2351 Improving shared_ptr for C++0x, Revision 2
>A variant of shared_ptr that is atomic, that is, safe to be manipulated from multiple threads without synchronization

wait-freeかlock-freeな実装してるんじゃないの
0832デフォルトの名無しさん2013/10/15(火) 12:46:50.31
引用したところは「使う側は同期する必要ないよ」って言ってるだけだろ
アトミック命令だって一種の同期メカニズム
0833デフォルトの名無しさん2013/10/15(火) 14:32:29.52
競合する箇所では使わないからもっと速度優先でやってくれ
の場合
自分で作るしかないか
0834デフォルトの名無しさん2013/10/15(火) 14:35:55.86
Boostのshared_ptrだとdefineで同期機能の無効化(高速化)ができる
0835デフォルトの名無しさん2013/10/15(火) 14:44:04.79
参照カウンタの増減に使ってる程度なら、
CASだけで実装できるだろうから、
オーバーヘッドは軽微でないかいな
0836デフォルトの名無しさん2013/10/15(火) 14:51:13.63
>>834
同期機能あり版と無し版を同時に使えない?
0837デフォルトの名無しさん2013/10/15(火) 14:53:05.00
>>835
CAS重いぞ。ベンチマークが極端に変わる
0838デフォルトの名無しさん2013/10/15(火) 16:14:08.86
>>836
ソースごとにdefine+includeすればモジュール単位での併用はいけるかもしれないが完全共用は無理臭い
0839デフォルトの名無しさん2013/10/15(火) 16:32:33.74
マルチスレッド無視でいいから速度重視のsharedptr欲しいなら
まじで作ってしまうのが手っ取り早いぞ
試しに作ってみろ
ベンチ圧倒的だ

昔のCPUだとフロントクラスのメンバーに実ポインタを持たせると速かったが(boostとかそうしてる)
今はむしろ逆だからな
オブジェクトのサイズをコンパクトに抑えてキャッシュ効果を上げろ
0840デフォルトの名無しさん2013/10/15(火) 21:19:34.05
フロントクラスてなに?
0841デフォルトの名無しさん2013/10/16(水) 01:18:40.37
>>840
スマートポインター系は、どれも前と後ろに分かれてんじゃね?
0842デフォルトの名無しさん2013/10/16(水) 18:56:34.40
んなこたーない
0843デフォルトの名無しさん2013/10/16(水) 19:16:17.25
>>842
分かれてないやつは具体的にどういうのがある?
0844デフォルトの名無しさん2013/10/16(水) 19:33:54.53
>>843
auto_ptr
0845デフォルトの名無しさん2013/10/16(水) 20:08:30.14
>>844
もはや別物
0846デフォルトの名無しさん2013/10/17(木) 06:29:16.59
auto_ptrはオワコン
0847デフォルトの名無しさん2013/10/17(木) 07:26:06.00
じゃあunique_ptr
0848デフォルトの名無しさん2013/10/17(木) 13:21:27.42
typedef (void *) smart_ptr;
0849デフォルトの名無しさん2013/10/17(木) 14:27:12.45
claver_ptr
0850デフォルトの名無しさん2013/10/17(木) 14:27:54.63
clever_ptrだった
0851デフォルトの名無しさん2013/10/17(木) 17:59:51.27
You is big fool man.
0852デフォルトの名無しさん2013/10/21(月) 18:46:31.57
そういえば生ポをラップしただけのアホの子ポインタを入れる話は結局どうなったの
0853デフォルトの名無しさん2013/10/22(火) 16:45:08.81
低レベル言語のくせに
化け物みたいに膨らんだグロテスクな文法

仕様の切捨てしろよ
0854デフォルトの名無しさん2013/10/22(火) 17:11:47.09
例外を刷新してほしい
0855デフォルトの名無しさん2013/10/22(火) 17:17:26.01
>>854
具体的に
0856デフォルトの名無しさん2013/10/22(火) 17:30:00.07
catch のオーバーロードなんかいらねえ
exception_ptr と dynamic_cast さえあればどうにでもできる

それと RESUME がないのも
諸説あろうが俺は好かん
0857デフォルトの名無しさん2013/10/22(火) 22:18:53.58
お前らが過去を切り捨てた綺麗なc++作るとしたらどこを切り捨てるの?
0858デフォルトの名無しさん2013/10/22(火) 22:23:30.84
なにはともあれ、まずユーザー定義リテラルだな
0859デフォルトの名無しさん2013/10/22(火) 23:32:30.32
++の部分を全て
0860デフォルトの名無しさん2013/10/23(水) 00:02:42.37
>>857

変数定義や宣言を意味する予約語を新設。関数宣言を意味する別の予約語も新設。

今のC++の場合
a b(c);
と書かれている箇所を解釈しようとしても、
型aの変数bを定義して引数cをコンストラクタの引数に渡しているのか、
引数の型がcとなる型aの関数bを宣言しているのか、
この表現を見ただけでは分からない。
つまり構文解析の結果を知っていないと解析できない。
0861デフォルトの名無しさん2013/10/23(水) 00:08:06.22
>>860
そこは、削除するべきはコンストラクタの ( ) 呼びじゃね?
{ } で統一されたんだから
0862デフォルトの名無しさん2013/10/23(水) 00:17:55.36
>>861

int i = getpid();
double d = double(i) / 2;

は

int i = getpid();
double d = double{i} / 2;

になるべきだと?
0863デフォルトの名無しさん2013/10/23(水) 00:41:51.43
>>862
double tod(int i) { return double(i); } を
double tod(int i) { return {i}; } って書けるんだから、それでいいだろ
0864デフォルトの名無しさん2013/10/23(水) 01:31:24.15
過去を切り捨てた美しいC++が欲しいなら
Java、C#、Dがもう既にあるのだからこてを今すぐ使えばいい。
C++は良くも悪くもCと互換性があるというところに存在意義がある。
0865デフォルトの名無しさん2013/10/23(水) 01:48:40.89
Cとの互換性なんて
どうでもいいんだが
0866デフォルトの名無しさん2013/10/23(水) 01:59:36.20
>>864
> 過去を切り捨てた美しいC++が欲しいなら
> Java、C#、Dがもう既にあるのだから

違う。
それらが切り捨てたのはC互換だけじゃない。
0867デフォルトの名無しさん2013/10/23(水) 02:31:24.20
>>864
よしてくれ
そんな軟派と一緒になんか

Jだけは論点によっては傾聴すべきところはあるが
おまえはそこに噛みついてこれるか?
0868デフォルトの名無しさん2013/10/23(水) 02:53:24.69
>>867
お前が聴くから、その聴いてる行為に対して他人が噛みつけと?
0869デフォルトの名無しさん2013/10/23(水) 03:00:34.05
>>868
何の話か通じない人たちには聞いてないから無理にレス返さなくていいよ
0870デフォルトの名無しさん2013/10/23(水) 03:10:02.54
>>867
お前が傾聴するの?
0871デフォルトの名無しさん2013/10/23(水) 03:17:39.65
stlのライブラリをboostベースにして
ついでに.bad()とか使ってる人にしか理解できないメソッドを
一度整備してほしい
std::streamとか初めて見た時具合悪くなったw
0872デフォルトの名無しさん2013/10/23(水) 03:30:38.31
>>870
論点によってはと言っているだろ
おまえくどい
0873デフォルトの名無しさん2013/10/23(水) 07:34:50.73
>>867
Jって書かれるとJ言語に見えるからやめたまえ
0874デフォルトの名無しさん2013/10/23(水) 08:34:00.07
>>860
賛成だけど、切り捨ててないし、それ。
0875デフォルトの名無しさん2013/10/23(水) 09:04:21.15
>>872
お前が傾聴するなら、お前は聴いてる立場だろ。
お前が論じるならお前に噛みつく奴は現れるかもしれないけど、
お前が聴いてるだけの立場なら、お前に噛みつく奴はいないだろ。
0876デフォルトの名無しさん2013/10/23(水) 09:38:05.07
>>875
それは屁理屈
聞いているか論じるかなんてこっちの勝手だ
お前が決める事ではない
0877デフォルトの名無しさん2013/10/23(水) 12:30:06.81
C++2ch つくろーぜ
0878デフォルトの名無しさん2013/10/23(水) 14:30:09.26
>>876
そうだね。
君の自由意思で、君は論じずに傾聴すると決めたんだよね。
で、他人は論じない君に対してどうやって噛みつくの?
0879デフォルトの名無しさん2013/10/23(水) 16:33:22.20
>>878
傾聴するなんて一言も言ってないわけだが
0880デフォルトの名無しさん2013/10/23(水) 17:18:45.06
>>879
いやいや、>>872で
論点によっては傾聴すると言っている
0881デフォルトの名無しさん2013/10/23(水) 17:30:18.31
アルツハイマーかよ
0882デフォルトの名無しさん2013/10/23(水) 17:41:01.47
本物の病気の相手はほどほどにな
ドグラマグラみたいなの読まされるの勘弁
0883デフォルトの名無しさん2013/10/23(水) 20:56:49.29
キチガイ地獄祭文
0884デフォルトの名無しさん2013/10/23(水) 21:05:45.01
>>867
つまりお前が言いたいのは
「論点によっては傾聴すべきこともあるから、
すわなち、論点によっては、俺はお前の意見を傾聴してやるから、
その件についてお前は俺に噛みついてこれるか(俺に反論できるか)?」
ってことだろ?
0885デフォルトの名無しさん2013/10/23(水) 21:39:43.45
いいからC++14の話しろよ
0886デフォルトの名無しさん2013/10/23(水) 21:46:11.15
>>857
Cにclassとtemplateを追加した感じかなぁ。
Cのラッパーだったときのしがらみはちゃんと切り捨てたい。切り分けたい
構造体はデータの塊というだけで十分なんだよ。

あと、仮想デストラクタのないクラスは、デフォルトでは継承不可とか?
0887デフォルトの名無しさん2013/10/23(水) 21:49:29.26
仮想デストラクターになるのが "class"
そうでないものが "struct"
structは基底クラスへのポインターで取り扱うことができない

ってしてほしかったぞ
0888デフォルトの名無しさん2013/10/23(水) 21:57:27.52
>>877
Cww だなw
0889デフォルトの名無しさん2013/10/23(水) 21:57:48.92
仮想デスクトラクタとかめったに使わんわ
0890デフォルトの名無しさん2013/10/23(水) 21:59:31.29
>>889
ポリモちっくなこと全然やらんとか?
0891デフォルトの名無しさん2013/10/23(水) 22:15:08.00
仮装デストラクターが無いとポリモーフィズムができないとでも
言いたいんだろうか
0892デフォルトの名無しさん2013/10/23(水) 22:18:47.23
>>890
ほとんどやらんな
静的に解決できてるわ
0893デフォルトの名無しさん2013/10/23(水) 22:34:23.96
プログラムの意味的に継承構造があまり必要でない
オブジェクトがあまりスコープをこえて旅しない

のどっちだろ
0894デフォルトの名無しさん2013/10/23(水) 22:49:48.97
> オブジェクトがあまりスコープをこえて旅しない
こっちじゃね?
オブジェクトを手元だけで使う分には静的にできるからね。
離れた場所に旅させるとオブジェクト自身の動的な機能が必要になる。
0895デフォルトの名無しさん2013/10/23(水) 23:15:15.70
>>865
Cのライブラリそのまま使えるのはでかかったよ
0896デフォルトの名無しさん2013/10/24(木) 00:19:02.16
shared_ptrにつっこんどけば仮想デストラクタにしなくても適切なデストラクタが呼ばれるって選択肢も

使い方変えたときに間違いの元になるが。
0897デフォルトの名無しさん2013/10/24(木) 13:58:27.02
>>896
これ便利だよね
virtual付け忘れてやっべリークしたかと思って調べたらセーフだったことがある
0898デフォルトの名無しさん2013/10/24(木) 19:25:21.41
その仕組み規格では明記されてないから
やってくれるかどうかはimplementation-definedじゃなかったっけ
0899デフォルトの名無しさん2013/10/24(木) 19:27:00.26
あ、C++11/14のstd::shared_ptrの話な
boost::shared_ptrはドキュメントに書いてあるから大丈夫
0900デフォルトの名無しさん2013/10/24(木) 23:46:58.92
こうしてC++の深い部分を理解しない土方PGが量産されるのであった。
0901デフォルトの名無しさん2013/10/24(木) 23:55:31.36
量産されるほど人数いたのか
0902デフォルトの名無しさん2013/10/25(金) 00:47:07.09
動的削除子サポートされてないshared_ptrなんて現存するの?
0903デフォルトの名無しさん2013/10/25(金) 00:51:17.23
>>898
規格読んでないけどその仕組みのためにコンストラクタのポインタの型がテンプレートになってるんじゃないの?

どちらとも言わずにつまらん煽りしか言わない人は何者になれるのかな
0904デフォルトの名無しさん2013/10/25(金) 01:42:03.03
デストラクタにはvirtual付け必須でイイんでね?
0905デフォルトの名無しさん2013/10/25(金) 01:47:11.03
もはやC++ではなくなる
0906デフォルトの名無しさん2013/10/25(金) 01:48:46.56
非virtualの明示化なら、まだ意味わかるんだけど
それがfinalと連動とかだとキモすぎて耐えらんない
0907デフォルトの名無しさん2013/10/25(金) 03:17:18.94
>>904
非ポリモーフィックなクラスはファイナルかつ非仮想デストラクタにする
09089042013/10/25(金) 03:46:26.66
>>907
C++11からfinal入ったんか。
0909デフォルトの名無しさん2013/10/25(金) 06:49:14.99
>>864
> 過去を切り捨てた美しいC++が欲しいなら
> Java、C#、Dがもう既にあるのだからこてを今すぐ使えばいい。

全部GCがついてくるというのが心底頭抱えたくなるんだが……
JavaScriptを覇権言語にしたがってる連中もだがどいつもこいつも何なの

Java-House MLあたりで「ふんづまり現象」だのとクソのような名前で呼ばれていた頃から
GC pause、結局全然解決しとらんではないか。

「Javaでハイパフォーマンスアプリが作れないというのは誤解だ。作り方が悪い」キリッ
→newしない&オブジェクトプール(笑)

「JavaScriptでハイパフォーマンスアプリが作れないというのは誤解だ。作り方が悪い」キリッ
→newしない&オブジェクトプール(笑)

いくらCPUが速くなってもカクカク動作のAndroid
一方、AppleはiPhoneの成功を受けてMacでもGCを非推奨にした。

GCのある言語はクソであること、GCのない言語を置き換えることはできないことをそろそろ学習するべきだ。
その根底が分からない限り、better C++など100年経っても出てこない。
0910デフォルトの名無しさん2013/10/25(金) 06:57:39.62
世の中にはほんの数ミリ秒でも動作が止まっちゃまずいソフトウェアというものが数多くあって
(例えば機械制御、ゲームプログラム、株取引、シンセサイザー等)
そういう世界が見えていない、時間解像度が低いプログラマが多すぎる

特にウェブの連中は数百ミリ秒のめちゃめちゃ荒いオーダーの世界で生きてるくせに
その認識がまったくないからマジで頭に来る
0911デフォルトの名無しさん2013/10/25(金) 07:20:17.26
マルチコア当たり前の現在でもやっぱりガベコレで糞詰まるもんなの?
D言語+マルチコアで革命的な何かが起こると期待してたんだけど
まったく何も起こらないんでガッカリしてるとこなんだけど・・・・・・
0912デフォルトの名無しさん2013/10/25(金) 07:57:19.07
マルチコアでガベコレが速くなると思えるのが不思議。
0913デフォルトの名無しさん2013/10/25(金) 08:01:19.68
「GCで詰らなくなる」と「GCが速くなる」が同じと思えるのが不思議
0914デフォルトの名無しさん2013/10/25(金) 08:04:32.33
原理的な問題と実装上の問題が混同されている

Erlangとそれを使ったシステム開発は、ソフトリアルタイムシステムまでは
GCが特に問題なく適用できることを示した事例にあたると思う
ハードリアルタイムな例えば車のブレーキ制御とかだとさすがに不味い気はする
0915デフォルトの名無しさん2013/10/25(金) 08:15:28.88
>>909,910
頑張らなければならないところでJavaを使うのもどうかとおもうけれども、頑張らなくてもいいところでC++というのも
正直メモリまわりが手抜きに書けるのはありがたい
0916デフォルトの名無しさん2013/10/25(金) 08:42:38.64
>>913
結局、詰まらなくなるのと速くなるのは同じじゃねーか?
0917デフォルトの名無しさん2013/10/25(金) 08:49:07.97
ソフトウェアは待機時間の方が長いことも多い。 (特にデスクトップ用途なら。)
何もしてないはずの待機時間をメモリの回収のために使えば体感的な動作速度が速くなるのは道理。
GC を使うことによって単位時間あたりの処理量が少なくなってもレスポンスタイムは速くなる可能性がある。

デストラクタの発動時に関連オブジェクトのデストラクタが連鎖的に発動するのは GC で詰まるのと似たようなもの。
C++ でもデストラクタで不要なオブジェクトの登録だけして後で回収するとかいった工夫も出来ることは出来るけど、
それなら GC のある言語を使った方がマシ。

いずれにしてもそれは作ろうとしているソフトウェアの性質によるのであって、
GC が不利になる状況だけをことさらに抜き出して比較するのはアンフェアというものだよ。
0918デフォルトの名無しさん2013/10/25(金) 09:01:10.07
そんな道理通りにいかないのはJavaアプリちょっと使ってたら体感できるじゃねーか
0919デフォルトの名無しさん2013/10/25(金) 09:25:06.73
http://toro.2ch.net/test/read.cgi/tech/1374022208/9
こういうの見るとなんだかなあって思っちゃうわ
0920デフォルトの名無しさん2013/10/25(金) 10:08:52.44
>>917
Chromiumの中身で使われてるメモリ領域なんて99% スマポ(sp)だし
Eclipseは重すぎて高スペック要求
現実は全く逆なんだけど、どうしてそんな主張というか見解が生まれるの?
0921デフォルトの名無しさん2013/10/25(金) 10:22:21.23
GC嫌ならRustにしたら
0922デフォルトの名無しさん2013/10/25(金) 10:23:50.30
GCは便利なツールってだけだよ
事実をねじ曲げてまで肯定するアホは死んでください
0923デフォルトの名無しさん2013/10/25(金) 10:26:01.44
もしかしてEclipseがクソ重いのはGCのせいだと思っているのか
0924デフォルトの名無しさん2013/10/25(金) 10:30:32.18
>>923
動作自体が重い処理もあるので、GCだけで重くなってるとは言わない
が、現実としてGC回数減らすとぐっと速くなる
0925デフォルトの名無しさん2013/10/25(金) 10:47:30.50
コンカレントGCとかG1GCを動かすと速度が露骨に落ちるな
マルチコアだと落ちないと思ってたけど甘かった
0926デフォルトの名無しさん2013/10/25(金) 11:01:11.82
>>916
GCの停止時間とGCのスループットはトレードオフの部分もあるので、
そこまで単純でない。あの辺りの話は一概には言えないことばっかり

ちなみに参照カウントは遅いという議論もあって……
0927デフォルトの名無しさん2013/10/25(金) 11:07:36.24
参照カウントが遅い?
0928デフォルトの名無しさん2013/10/25(金) 11:12:21.90
もちろんatomicなshared_ptrに限定した参照カウントです
0929デフォルトの名無しさん2013/10/25(金) 11:15:03.42
その辺の比較してる文献ソースとかプログラムソースとかないの?
体感で遅い速い言っててもしょうがないよ。
0930デフォルトの名無しさん2013/10/25(金) 11:58:22.31
"Why mobile web apps are slow | Sealed Abstract"
http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
> All about garbage collectors
とりあえずやたら長い記事なうえ 2005 年の論文を論拠にしててコメント欄で
突っ込まれてたりするので結論はいまいち。まぁここに載ってるような話を
繰り返す必要はないということで。
0931デフォルトの名無しさん2013/10/25(金) 12:03:47.05
で参照カウントがGCより遅いって根拠はどこ?
0932デフォルトの名無しさん2013/10/25(金) 12:17:15.77
>>931
参照カウントもGCの一種だから
参照カウントとGCのなにを比較してんのかと
0933デフォルトの名無しさん2013/10/25(金) 12:17:59.63
ひたすらコピーするのがポインタと比べて遅いとか言ってるんじゃねえの?
0934デフォルトの名無しさん2013/10/25(金) 12:25:14.81
>>932
また無茶なことを言い出したな…
0935デフォルトの名無しさん2013/10/25(金) 13:58:42.61
定数文字列をコンパイル時に操作できるライブラリってありませんか?
できれば某氏の以外で・・・
0936デフォルトの名無しさん2013/10/25(金) 14:15:13.06
定数文字列をコンパイル時に操作って何よ?意味不明なんだけど
0937デフォルトの名無しさん2013/10/25(金) 17:02:55.66
え、そのまんまだろw
0938デフォルトの名無しさん2013/10/25(金) 20:15:03.78
>>936
コンパイル時、定数文字列から、別の新しい定数文字列を作成するようなものです。
C++11対応で、より一般的なライブラリがないかなと思いまして。
0939デフォルトの名無しさん2013/10/25(金) 21:12:46.98
>>938
具体例でも挙げて
0940デフォルトの名無しさん2013/10/25(金) 21:13:49.22
>>939
は何が分からないの?「コンパイル時」?「定数文字列」?「文字列操作」?
0941デフォルトの名無しさん2013/10/25(金) 21:18:51.96
>>917
GC って途中でやめることができるのか?一度走り出したら最後まで止まらないとおもっていたんだが
マーク&スウィープとかさ
0942デフォルトの名無しさん2013/10/25(金) 21:23:46.25
>>938
コンパイル時に編集したファイルをコンパイルするようにすればいいじゃん。
別名で保存してさ
0943デフォルトの名無しさん2013/10/25(金) 21:35:10.40
>>938
> 別の新しい定数文字列を作成

って具体的に何すんの?
0944デフォルトの名無しさん2013/10/25(金) 21:42:05.27
こういう奴?
http://www.boost.org/doc/libs/1_54_0/libs/mpl/doc/refmanual/string.html
0945デフォルトの名無しさん2013/10/25(金) 22:08:02.18
>>944
えーと・・そういうやつですが、mplみたいな黒魔術的なのでなく、
C++11で、かつ某氏のSproutよりも一般的なものがないかなと。
ないならSproutを拝借するつもりです。
0946デフォルトの名無しさん2013/10/25(金) 22:48:23.75
めんどくせえ
実行時にやれ
0947デフォルトの名無しさん2013/10/25(金) 23:00:50.72
そういえば目的を聞いてなかったな
0948デフォルトの名無しさん2013/10/25(金) 23:03:50.19
いえ、もう結構です。
ありがとうございました。
0949デフォルトの名無しさん2013/10/25(金) 23:51:29.17
ちょwww
0950デフォルトの名無しさん2013/10/26(土) 00:39:34.43
もう埋め埋め
店じまい
0951デフォルトの名無しさん2013/10/26(土) 00:48:07.15
constexprってC++1yで早々に手直しが入ってなかったっけ
0952デフォルトの名無しさん2013/10/26(土) 01:00:47.10
三項演算限定の制約無くなったんだっけ
0953デフォルトの名無しさん2013/10/26(土) 01:01:18.65
関数の
0954デフォルトの名無しさん2013/10/26(土) 01:11:58.49
constexpr時代のクラス
・ポリモーフィックなクラス
・非ポリモーフィックなクラス
・インターフェイスなクラス
・リテラルなクラス<new
0955デフォルトの名無しさん2013/10/26(土) 01:32:57.33
>>941
ものによる。
細かな空き時間を使えるようにちょこちょこ GC する方式もあって、
そういった種類の GC は「インクリメンタル GC」と呼ばれている。
0956デフォルトの名無しさん2013/10/26(土) 02:56:07.02
int hoge()
{

comeback (0)//return の返り値が0だったら実行
{

}


return 0;
}
0957デフォルトの名無しさん2013/10/26(土) 15:41:48.16
次スレのタイトルはどうなるんだ?
いくらなんでも11を付けたままなのは
そろそろまずいだろう
0958デフォルトの名無しさん2013/10/26(土) 19:04:33.90
いつになったら.ccと.hh分割の呪いから解消されるの?
そろそろ他の言語みたいに拡張子ひとつで書きたいよ
0959デフォルトの名無しさん2013/10/26(土) 19:12:21.77
昔、区分編成データセットというのがあってだな・・・
0960デフォルトの名無しさん2013/10/26(土) 20:05:25.73
C++14/C++1yでいいだろ
0961デフォルトの名無しさん2013/10/26(土) 20:14:17.69
>>957
ウゼェ他所池
0962デフォルトの名無しさん2013/10/26(土) 20:20:28.44
>>958
ファイルが分かれていないと、非公開部分だけを修正しても依存ファイルがリビルドされてしまいそうだけど。
(公開部分だけを抜き出してハッシュで管理するような超賢いビルドツールがある場合を除く)
0963デフォルトの名無しさん2013/10/26(土) 21:22:56.10
結局C使い以外は「コンピュータとは何か?」が見えてないんだな
0964デフォルトの名無しさん2013/10/26(土) 21:28:00.02
哲学的だな
0965デフォルトの名無しさん2013/10/26(土) 21:44:59.55
いや、まんまだろ
0966デフォルトの名無しさん2013/10/26(土) 23:43:02.90
>>962
後続の言語がそういうのをぞくぞくと解決しているのにC++ときたら
0967デフォルトの名無しさん2013/10/27(日) 00:51:16.46
例えばJavaの大量のimport文の羅列が美しいかどうかってこと?ないな
rubyとかだとそれさえ不要になってるとか言う?Railsボケあたりが寝ぼけた反論してくるのが関の山だろ
ヘッダファイルは泥臭くとも最小の解の一つ
対案たる実装はない
0968デフォルトの名無しさん2013/10/27(日) 01:16:31.10
ヘッダファイルはとても便利だと思うがなあ
コンパイラに何が見えてて何が見えないか把握できるのが非常に便利
そういう把握が出来ないならプログラマ向いてない
0969デフォルトの名無しさん2013/10/27(日) 01:18:41.07
privateメンバも別ファイルにできたら良かったんだけどなぁ。
まぁ、pImpleイディオムがあるけど。
0970デフォルトの名無しさん2013/10/27(日) 01:31:08.51
この辺の議論かな

There are many reasons why C++ compiles so slowly
http://www.drdobbs.com/cpp/c-compilation-speed/228701711
0971デフォルトの名無しさん2013/10/27(日) 01:54:34.27
import文の有無とヘッダファイルの有無って関係なくね
0972デフォルトの名無しさん2013/10/27(日) 02:23:01.18
ファイルの参照も理解できないのか
0973デフォルトの名無しさん2013/10/27(日) 08:55:04.12
>>969
同意
0974デフォルトの名無しさん2013/10/27(日) 08:56:47.54
クラスのサイズが変わっちゃうから無理なんじゃないかな
0975デフォルトの名無しさん2013/10/27(日) 09:35:55.56
精神分裂とか2重人格をオブジェクト指向に取り入れられないか

class A
{
unknown://自分の知らない自分

private:

protected:

public:

};
0976デフォルトの名無しさん2013/10/27(日) 11:57:49.87
じつに興味深いテーマだw
0977デフォルトの名無しさん2013/10/27(日) 12:41:30.76
this が左辺値になってくれるとうれしいんだけど
root=>bintree_add(obj);
0978デフォルトの名無しさん2013/10/27(日) 12:42:11.87
オペレーターの外部定義や、C#の拡張メソッドなどが、
publicを利用しているだけなんだけど
class自身が知らない世界に近いかな
0979デフォルトの名無しさん2013/10/27(日) 15:14:57.25
>>975
お前はバカだけどすごく気に入った
0980 ◆QZschizo.ptH 2013/10/27(日) 16:34:04.11
>>975
精神分裂って別に unknown な自分があるとかじゃないよ、ただただだんだん馬鹿になっていくだけで、自覚はないらしいよ
本人がいうから間違いないよ
0981デフォルトの名無しさん2013/10/27(日) 16:39:50.35
>>975
Obj-C はそういうのも簡単にできる。カテゴリプロパティとか。
0982デフォルトの名無しさん2013/10/27(日) 16:45:02.42
今更新しくもないな
javascriptでインスタンスに後付で関数追加すればこんな感じじゃん
0983デフォルトの名無しさん2013/10/27(日) 19:35:27.56
std::async が c++14 で deprecated になるかもという話を
ちらほら見かけるのだけど、

非同期な処理ガーとかいう話なのか、
スレッドを安全に終了する方法ガーとかいう話なのか、
sort の並列化なんかに使うには adaptive なスレッド生成して work stealing ガーとかいう話なのか、

だれか説明求む。
0984デフォルトの名無しさん2013/10/27(日) 19:56:02.77
http://cpplover.blogspot.jp/2013/10/c11.html
C++とかJavaScriptのような無駄に複雑な言語と付き合ってると人生台なしになりかねなんな
適当でいいよ

といっても全員がそれではいかんというジレンマがあるんだが
0985デフォルトの名無しさん2013/10/27(日) 20:17:25.00
使えない奴は何をやってもダメ
ただそれだけ
例えばC++のせいにするバカとか
0986デフォルトの名無しさん2013/10/27(日) 21:19:32.45
次スレは?
0987デフォルトの名無しさん2013/10/27(日) 21:35:25.18
付き合ってくれる人がいるから一般人は適当できるんじゃね
0988デフォルトの名無しさん2013/10/28(月) 00:51:37.33
30代に入ってから言語仕様の仔細追いかけるのやめたわ
Good Parts適当に抜き出したらもうその範囲しか使わん。

プログラミング言語は道具にすぎないし
プロダクトを作るとか、脳内嫁を大切にするとか
人生にはもっと重要なことがある。
0989デフォルトの名無しさん2013/10/28(月) 01:01:14.10
C++14/C++1y
http://toro.2ch.net/test/read.cgi/tech/1382889622/
0990デフォルトの名無しさん2013/10/28(月) 01:34:16.89
>脳内嫁を大切にするとか
うむ
ただ俺は脳内嫁を動かすためにPGやってるけどな
0991デフォルトの名無しさん2013/10/28(月) 09:57:22.50
>>989
乙
0992デフォルトの名無しさん2013/10/28(月) 15:53:20.68
埋まらなすぎだろ
0993デフォルトの名無しさん2013/10/28(月) 18:47:24.07
埋めますか
0994デフォルトの名無しさん2013/10/28(月) 18:49:28.51
埋めましょう
0995デフォルトの名無しさん2013/10/28(月) 18:51:38.22
埋めますね
0996デフォルトの名無しさん2013/10/28(月) 18:51:49.01
はい
0997デフォルトの名無しさん2013/10/28(月) 18:54:59.67
次

C++14/C++1y
http://toro.2ch.net/test/read.cgi/tech/1382889622/
0998デフォルトの名無しさん2013/10/28(月) 18:56:05.84
寸止めBBA
0999デフォルトの名無しさん2013/10/28(月) 18:57:07.64
999ならC++17は計画倒れ
1000デフォルトの名無しさん2013/10/28(月) 19:14:33.89
次

C++14/C++1y
http://toro.2ch.net/test/read.cgi/tech/1382889622/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。