[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 06/20 09:19 / Filesize : 175 KB / Number-of Response : 891
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++14/C++1y



1 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 01:00:22.34 ]
The C++ Standards Committee
www.open-std.org/JTC1/SC22/WG21/

Wikipedia
https://en.wikipedia.org/wiki/C%2B%2B14

C++11/C++1y 18
toro.2ch.net/test/read.cgi/tech/1365073520/

2 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 08:53:28.04 ]
18 ブギ、未来を俺にくれ

3 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 11:29:11.92 ]
>>2
残念だ、その未来に君はもういないんだよ...

4 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 19:27:47.38 ]
このスレ、通し番号入ってないけど、良いの?

5 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 19:40:29.79 ]
14はどうせすぐ来年だし過去ログが必要になるようなスレでもないからなければないでべつにいいと思うよ

6 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 19:40:53.14 ]
C++11のスレは終わった

7 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 20:04:57.00 ]
C++学園の人々:飛躍と混沌の14年の巻

○軽量コンセプトさん
あのコンセプトさんが生まれ変わって帰ってきた!
しかしかつてのコンセプトさんに比べると大幅に能力が下がっており、
一部ではstatic_assertさんの変装ではないかと噂されている。入学はもう少し先になる予定。

○attributeさん
久々に任せられたのは「でぷりけーてど」なる呪詛とともにD組送りにする能力。
今日も死んだ魚のような目を輝かせながら生徒達を地獄へ送る。

○constexprさん
いきなり「勝手に『てーすーしき』を名乗るのは許さないからね!」とライブラリ科に向かって言い放ち
学科の多くの生徒達とファンの土器屋を困惑させた。
あと「りかーしぶ」はやっぱりめんどくさいので普通の女の子に戻るらしい。

○ラムダさん
もはや当たり前に受け入れられて引っ張りだこの人気者。かつて服で騒がれてたのは何だったのか。
少し几帳面すぎて融通が利かないのが不評だったので、autoさんに空気の読み方を教えてもらった。

○関数さん
靴のサイズを気にしなくていいラムダさんが羨ましくなったので、autoさんにサイズの決め方を教えてもらった。
せっかくだからラムダさんと同じ服を着たいと言っているのだが、「君はベテランなんだから我慢しなさい」と
周りの大人が許してくれないようだ。

○decltypeさん
新たに姉のautoさんとの合体技も覚えて本人はノリノリだが…
服の違いで性格が変わる悪癖も直っておらず、合体技もやや前衛的で、なんだか最近黒いオーラが見えると噂されている。

○autoさん
型なんかもう全部autoでいいんじゃねえかなと思わせるような八面六臂の大活躍。
不動の学園アイドルの座を射止めた彼女をD組から睨み続けるregisterさんとは目を合わせてはいけない。

8 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 20:05:29.04 ]
○数値リテラル三姉妹(十進さん、八進さん、十六進さん)
一部の教師のゴリ押しで、ケタクギリなるおかしなアクセサリーを付けさせられることになった。
汚い見た目は主にユーザー定義リテラルさんのせいらしく、恨み節が止まらない。

○二進リテラルさん
数値リテラル姉妹の四女。前の入試では「君は別にいらないから」と入学拒否されたものの
じゃあユーザー定義リテラルさんに代わりやってもらおうかとなったとたんに
急遽入学が決まった。本人は困惑している。なおケタクギリは彼女も付けさせられる予定。

○ユーザー定義リテラルさん
入学してしまったものは仕方ないので、ライブラリ科は受け入れ準備を渋々始めている。
数値リテラル姉妹とのトラブルで陰口を叩かれたり、complexさんのお手伝いのときに
if姐さんを危うく怒らせそうになったりしながらもたくましく生き延びているようだ。がんばって!

○文字列リテラルさん
ついこの間「ゆーてぃーえふ」を操る髪飾りを手に入れた。髪飾りなしでも使えるのだが、そしたら
英語の先生が急にブチ切れたのでビックリして泣き出してしまった。

○拡張for文さん
汚い制服を引きずりながら「Rangeちゃん…Rangeちゃんさえ来てくれれば…」とうわごとを繰り返す毎日。
早く彼女を助けてあげて下さい。

○Traversalさん
元Rangeさん。「お前わかりにくいから」と改名させられ、大変わかりにくくなった。
拡張for文さんが精神を病んでいく様を辛そうに眺めている。

9 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 20:07:00.27 ]
○asyncさん
入学早々D組行きを宣告された悲劇の子。
ときどき当てても反応しないと、ある先生が職員会議でもらしたばっかりに大問題になり
とても通学できない重病だと判断されたらしい。かわいそうに。

○動的配列さん
入学が延期された。C99クラスにはとっくに通ってるんだから早くしろと怒っているらしい。
双子の妹のdynarrayさんも入学延期中。

○optionalさん
入学が延期された。「どうせ私はoptionalだしー」と本人はあっけらかんとしている。

○exempt_ptrさん
shared_ptrさん達の引き立て役として呼ばれた末妹。アホの子。,
「sharedおねーちゃんはさんしょうカウンターですごいんだぞー」と自慢しているが
もちろん本人は何もわかっていない。入学はもう少し先になりそう。

○禿
校長先生。動的配列さんを自分好みに魔改造すべく企んでいるという噂。

10 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 20:54:50.41 ]
面白いなあ。誰かラノベ書くしかw



11 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 20:59:46.67 ]
俺のC++達の妹は友達が少ないがこんなにかわいいわけがない

12 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 21:08:09.18 ]
C++学園キターーーー!!

13 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 21:18:30.11 ]
俺がC++学園に底辺サンプルとして拉致された件

14 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 21:44:22.38 ]
動的配列さんはC99クラスには通ったけどC11でクラスになじめず保健室登校(Optional feature)になってしまった
今では、いない子扱いされてる

15 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:06:46.90 ]
>>11
待て、そのfriendは危険すぎる!

16 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:10:47.27 ]
俺のC++コードが修羅場すぎる

17 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:11:38.77 ]
やはり俺のコードは間違っている

18 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:20:04.27 ]
俺の脳内選択肢が、C++11を全力で邪険にしている

19 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:23:47.67 ]
みんなC++のことが大好きで仕方ないんだね

20 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:25:27.00 ]
私が書けないのはどう考えてもC++の言語仕様が悪い



21 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:32:24.16 ]
プログラマーにしようと校長先生そっくりの禿を錬成してみたら、
俺がアスペになっていました

22 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:51:47.32 ]
>>20
それな。

23 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 22:58:44.74 ]
お前ら俺の同類ばっかかよw

24 名前:デフォルトの名無しさん mailto:sage [2013/10/28(月) 23:31:49.72 ]
俺の教室にC++はいない

25 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 01:49:56.28 ]
Cぷらぷら!

26 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 02:07:44.15 ]
とりあえずいままで出番がなかった auto さんが大活躍してくれればおれは他どうでもいいや

27 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 02:27:33.39 ]
>>26
なるほどなるほど要するに

auto exp = [](){ /* 適当 */ };
auto eq = [](){ /* 適当 */ };
auto ne = [](){ /* 適当 */ };
auto r = exp ? eq : ne;
auto p = find_if(range, r);

みたいに、if文は三項演算子とラムダ式に、ループ文はアルゴリズム関数とラムダ式にして
書けばいいんだろ?1行で書くのが偉いんだよな?身の回りで最近見掛けるわ。

死ねばいいのに

28 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 02:44:41.64 ]
さすがにその場合expとeqはloop型にするだろ……常識的に考えて……

29 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 02:46:32.24 ]
bool型のtypoだ。疲れてるんだな

30 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 15:34:51.26 ]
>>27
const 付けない奴は死ねばいいのに



31 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 15:55:45.92 ]
ラムダ式を書き連ねて合成して伸ばして等間隔に刻んでサッと茹でて丼に盛って複雑な関数を作る
って書き方は、その関数の生成が実行時になる現在だと悪い冗談だけど、constexprが一般化して
コンパイル時に回るようになったら、思いの他流行りそうな気がしてる。

近い将来、関数言語かぶれ死ね!黙れロートル!というやり取りがされるのかな?とw

32 名前:デフォルトの名無しさん mailto:sage [2013/10/29(火) 21:40:46.16 ]
>>31
今でも実行時じゃ無いだろ

33 名前:デフォルトの名無しさん mailto:sage [2013/10/30(水) 17:29:16.93 ]
gccのトランポリンコードと勘違いしてんじゃねーの

34 名前:デフォルトの名無しさん mailto:sage [2013/10/31(木) 07:24:44.05 ]
bool,int,float A(true,0,0.0);

A = true;
A = 1;
A = 2.0;

if( A )
return true;

if( A == 1 )
return true;

if(A == 1.0)
return false;

if(A==2.0)
return true;

35 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 20:36:07.95 ]
vectorにunique_ptrを入れていろいろやってみているんですけど、これ結構不便ですよね?
Range-based forを使おうとするとconstがなんたらかんたらでエラーが出るし、
無理に代入しようとするとmoveが起きて、元のスマポの中身が空っぽになる

イテレータでunique_ptrのポインタでも何でもいいからうまく回す方法ないですか?

36 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 20:47:46.81 ]
お前のコードが悪いんだと思うよ

37 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 20:49:31.55 ]
ttp://ideone.com/GlMvnm
コードとエラーの内容張れよ

38 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 20:53:17.11 ]
ideone.com/OccVCn

すみません
こんなコードで、要するに一度内容を表示してからソートした後の内容を表示したいんです
中に入れるクラスはintとは限りません(簡単のためにintにしてあります)

39 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 21:18:19.87 ]
auto_ptrの破壊的セマンティクスからmoveセマンティクスに変わっただけで、コンテナに入れられたり
デリータを指定出来るところは改良されているが、そういう用途には適してないだろ

40 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 21:41:06.77 ]
>>39
そうですか・・・ありがとうございます
大人しくshared_ptrでも使う事にします



41 名前:デフォルトの名無しさん mailto:sage [2013/11/03(日) 23:47:10.45 ]
for (auto& i : v)
std::cout << *i.get() << ' ';
こんな感じでコンパイル通るけど?

42 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 00:15:07.83 ]
例として出したコードではエラーにならず動いてるのになにを問題にしているのかがわからん

43 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 00:20:30.67 ]
for (auto i : v) にしたいってことか?

44 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 00:26:44.23 ]
constなんたらだの、代入だの、forにauto使わずconst参照じゃない型を書いたんじゃねーの

45 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 00:50:55.31 ]
>>41
gcc4.8.1ですがエラーになります

>>42
エラーにならないコードを書くと>>38になりました
でも実行結果がおかしいですよね

>>44
違います

moveコンストラクタがいつ動くのかしっかりと把握しないとunique_ptrは怖いですね
楽をするならshared_ptr一本です

46 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 01:10:27.94 ]
エラーになるコードをideoneに貼れば一発でここの住人が直してくれるって言ってるんだよ。
>でも実行結果がおかしいですよね
きちんとソートされているように見えますけれど。
>moveコンストラクタがいつ動くのかしっかりと把握しないとunique_ptrは怖いですね
ちょっと言ってる意味が分からないですね。

47 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 01:27:35.47 ]
>>46
低脳はちょっと黙ってて

48 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 01:37:20.87 ]
gcc4.6.4だと動くな

49 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 01:38:22.51 ]
4.7.3と4.8.2も動くな

50 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 01:39:33.95 ]
必死ww

動かないソースコードも貼ってないのに



51 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 06:34:35.12 ]
意地でもエラーを書かないあたりは釣りなんだろう

52 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 10:47:57.30 ]
お前が書いたコードが糞でFA

53 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 10:50:49.09 ]
遅れましたすみません
私の偽物が現れて荒らしているようで申し訳ありません

これでちゃんと通り、正常に動きました
ありがとうございました

for (int i = 0; i < N; i++)
v.push_back(std::unique_ptr<int>(new int(distribution(twister))));

for (auto& a : v)
std::cout << *a.get() << ' ';
std::cout << std::endl;

std::sort(std::begin(v), std::end(v), [](const std::unique_ptr<int>& u, const std::unique_ptr<int>& v) { return *u.get() < *v.get(); });

for (auto&a : v)
std::cout << *a.get() << ' ';
std::cout << std::endl;

54 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 13:54:32.08 ]
>v.push_back(std::unique_ptr<int>(new int(distribution(twister))));

氏ね

55 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 14:42:05.87 ]
これはひどい

56 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 14:55:03.47 ]
>>54
どこが死ぬに値するのか全然理解できませんが

57 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 18:24:50.74 ]
>>54
何がまずいんだっけ?

58 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 18:55:08.12 ]
デバッグしづらい

59 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 19:28:11.61 ]
複数の実引数の評価順で問題がでる場合と勘違いしてるか
右辺値をとってムーブするpush_backがあることを知らないかだろ

60 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 19:37:32.08 ]
emplace_back使うとか?



61 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 20:16:45.13 ]
敢えて言うならoperator newの後に
distributionが例外をスローすると困る?

62 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 21:00:41.95 ]
その場合は大丈夫でしょ

63 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 22:32:27.25 ]
正解は?

64 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 22:33:23.35 ]
問題ない

65 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 23:13:12.62 ]
変更に弱い(変更で問題を起こしやすい)コードではあるよな。

66 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 23:38:13.41 ]
emplace_back()を使うと実行結果がおかしくなるな
なんで?

67 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 23:42:03.50 ]
まず66のレスが馬鹿っぽいことから
原因は66のおつむにあるとみていいだろう

68 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 23:43:36.95 ]
>>66
std::cout << std::boolalpha << std::is_sorted(std::begin(v), std::end(v), [](const std::unique_ptr<int>& u, const std::unique_ptr<int>& v) { return *u.get() < *v.get(); }) << std::endl;

これでも付けてみろや

69 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 23:59:18.15 ]
そもそもintなんかvectorに直接突っ込めばいいだろ
わざわざunique_ptrなんか持ち出すまでもない

70 名前:デフォルトの名無しさん mailto:sage [2013/11/04(月) 23:59:58.20 ]
大丈夫、みんなそう思ったけど敢えて突っ込んでない



71 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 00:35:30.93 ]
いやそこは突っ込みどころじゃないから
>>38
>中に入れるクラスはintとは限りません(簡単のためにintにしてあります)

72 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 00:54:20.47 ]
>>69
>>38

>中に入れるクラスはintとは限りません(簡単のためにintにしてあります)

73 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 01:21:16.39 ]
emplace_backの使い方は合ってるのか?
何書いてるのか知らんけど

74 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 08:20:00.66 ]
emlace_backはクラスにmoveコンストラクタが書いてないとコンパイル時にエラーになるな

75 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 09:00:38.12 ]
普通のコンストラクタだけで大丈夫だろ

76 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 15:51:03.57 ]
stackoverflow.com/questions/4303513/push-back-vs-emplace-back

右辺値参照してるのに通るんかい

77 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 19:50:58.39 ]
emplace_backの&&はテンプレートパラメータに対しての指定だから右辺値参照と確定するわけじゃない
universal referenceでぐぐれ

78 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:11:06.59 ]
右辺値参照、時々なんとなく分かった気になるけど、暫くしてよく考え直してみると
分かった気がしただけでやっぱりイマイチよく分かってないことに気付く。死にたいorz

79 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:29:50.06 ]
詰まるところpush_back()とemplace_back()の違いは何よ

いや

d.hatena.ne.jp/faith_and_brave/20080930/1222768173

こういう所に答えは書いてあるけどさ
いまいちピンと来ない

80 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:33:10.05 ]
思い切り重いクラスでもvectorに入れて速度比較してメリットを実感するしか方法はなさそうだ

universal reference 初めて聞いたわ
というかプログラミング言語C++11の日本語訳まだ出ないのか
英語版は持ってるけど目がチカチカする
ISO/IECもあるけど



81 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:37:36.95 ]
日本語が欲しいなら江添さん()のオナニー書がオヌヌメ。

82 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:37:39.89 ]
参照の縮約?

83 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:39:16.27 ]
>>81
C++11本書くから寄付くれって言ってた人?
有耶無耶にして逃げるのかと思ってたら、無事完成したのかw

84 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:41:17.44 ]
>>83
書きかけで公開したようだ

85 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 20:52:53.78 ]
>>84
なるほど、事実だけを端的に表現すると「完成はしなかった」ということかw

86 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 22:01:44.75 ]
ラストスパート中。まもなく一応の完成となる、と本人は言ってる。

87 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 22:14:37.21 ]
途中まで読んだんだけど、ひたすら規格書の仕様を
呪文のごとく垂れ流ししてるようなつまらなさ。
規格を読んでれば知ってることばかりだし
Exceptional C++とか禿本のように
読んでwktkするものではない。

88 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 22:24:20.04 ]
>>86
コア言語だけは完成、な
ライブラリは執筆の目途すら経ってないらしい

89 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 22:27:01.58 ]
そんだけのものでも、これページ数にしたら結構なもんやで

90 名前:デフォルトの名無しさん mailto:sage [2013/11/05(火) 22:51:11.87 ]
>>87
いやそれでいいんだ
画面で見るのと本で読むのとではなぜか全然違う



91 名前:デフォルトの名無しさん mailto:sage [2013/11/06(水) 00:16:50.51 ]
もともと日本語で読める標準C++(11)の規格の解説を書くというテーマだからそういうもの

92 名前:デフォルトの名無しさん mailto:sage [2013/11/06(水) 01:46:49.72 ]
JISの事か
ゴニョ・・・・

93 名前:デフォルトの名無しさん mailto:sage [2013/11/06(水) 07:17:36.23 ]
universal referenceてスコットメイヤーズの造語だった気がするけど
禿の本にも出てるんだっけ?
規格的にはreference collpasingだとか言ったと思う

94 名前:デフォルトの名無しさん [2013/11/06(水) 10:06:47.95 ]
>>93
collapsing

95 名前:デフォルトの名無しさん mailto:sage [2013/11/06(水) 16:20:04.94 ]
Varidec Templatesの使い所がいまいち分からないんだけど
うまくまとめてあるページない?

96 名前:デフォルトの名無しさん mailto:sage [2013/11/07(木) 19:03:11.05 ]
型安全なprintfが作れます

97 名前:デフォルトの名無しさん mailto:sage [2013/11/07(木) 22:00:17.76 ]
iostreamと同じで、真似してはいけない悪い見本ですね

98 名前:デフォルトの名無しさん mailto:sage [2013/11/07(木) 22:07:37.37 ]
stream << 4 << "番目の素数は" << prime(4) << "です。" << 3.1415926 << "は円周率の近似値です。";

99 名前:デフォルトの名無しさん mailto:sage [2013/11/07(木) 22:33:00.72 ]
>>95
本質的には引数の数が違うだけのテンプレートを手で書かなくても自動生成してくれるってだけだから

template<class T1> void f(T1 t)
template<class T1, class T2> void f(T1 t1, T2 t2)
template<class T1, class T2, class T3> void f(T1 t1, T2 t2, T3 t3)
...

みたいなコードを書いてたり書きたかったりした場面で使うだけ

100 名前:デフォルトの名無しさん mailto:sage [2013/11/07(木) 23:27:04.00 ]
そんな説明じゃ わからんだろ
正しい使い方の例はstd::threadのコンストラクター



101 名前:デフォルトの名無しさん mailto:sage [2013/11/08(金) 00:21:50.94 ]
03までで型の数の制限無し・・・は無理だから制限のゆるいtupleをどう実装するか考えれば
variadic templateのありがたみと使い所の一つは理解できるでしょ

102 名前:デフォルトの名無しさん mailto:sage [2013/11/08(金) 07:00:33.48 ]
>>100
いやemplace_pushの方だろう

103 名前:デフォルトの名無しさん mailto:sage [2013/11/09(土) 04:59:13.42 ]
このアニメで久しぶりに萌え豚の感覚が蘇った気がする

104 名前:デフォルトの名無しさん mailto:sage [2013/11/09(土) 05:00:13.92 ]
ごめんまちがえた

105 名前:デフォルトの名無しさん mailto:sage [2013/11/09(土) 11:40:28.99 ]
>>104
どこ?紅以外にあるのか?

106 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 15:35:37.68 ]
>>95
std::functionの仕様とかみてみ

107 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 15:52:03.54 ]
14になってもまだ自動委譲搭載されないのかよ
何とかしろよハゲ、残った両サイドの毛も全部引き抜くぞ

108 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 15:58:11.26 ]
>>107
そんな提案あったっけ?

109 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 16:00:02.53 ]
Java使いは身の程知らん癖にC++をJava化しようとするから嫌いだ

110 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 16:01:10.48 ]
>>108
www.open-std.org/jtc1/sc22/wg21/docs/papers/2002/n1363.htm



111 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 16:05:06.13 ]
>>110
きもいな

112 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 16:14:09.94 ]
>>111
C++がきもいのは今に始まった事じゃないだろ

ともかく、ポインターに対する委譲のために
ひたすら、関数の引数を同じ名前の関数に引き渡すとかやってらんない。
コンセプトマップさんが生きてりゃ似たようなコト出来たんだがな。
惜しい人をなくしたもんだ。

113 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 16:33:28.81 ]
C++のスレ…だよね?

114 名前:デフォルトの名無しさん [2013/11/10(日) 17:33:24.95 ]
「まだ C++ ではないもの」のスレだ

115 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 20:12:45.88 ]
助けてびよーねすっぽすっぽ先生

116 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 20:19:08.29 ]
びょーんすぽすっぽだろ。

117 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 20:24:40.51 ]
自慢じゃねーが英語は分かんねーぞ!
誰か>>110を日本語で説明してくれろ

118 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 20:35:00.09 ]
プログラマのほとんどが英語を理解できない現状では
日本語の参考書は必要

119 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 21:01:05.25 ]
VC++2010のratio_equalとratio_lessがバグってることに気付いた。
2012では直ってる?

120 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 21:01:39.68 ]
std::ratio_equalとstd::ratio_less ね。
念のため



121 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 21:31:43.45 ]
>>117
英語読まんでも
this is new stuff
ってとこから後のコード例だけ見れば何となく分かる

委譲する関数一個ずつ書かされるくらいなら今のままでいいよな
最後の方に提案外だけどpublicメンバーを一括委譲する案も出てるけど
個人的にはたぶんそっちしか使わないと思う
書き方は
inline m_pimpl;
とかの方がいいな、inline namespaceとなんか似てるし

122 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 21:35:07.14 ]
usingはきもいよね = もそうだけど

123 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:06:33.22 ]
>>121
委譲する関数名を書くのはIDEのコード補完が助けてくれそうな気がする。
ただ、usingだと後に続くのがネームスペースなのが委譲関数なのか特定できない気がする。
using以外の新しいキーワード導入してほしい。

124 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:13:59.05 ]
C++は機能が少なすぎる

125 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:14:15.98 ]
>>119
関係ないけどratioはここが美しいなw

typedef ratio<1, (_LONGLONG)1000000000 * 1000000000> atto;
typedef ratio<1, (_LONGLONG)1000000 * 1000000000> femto;
typedef ratio<1, (_LONGLONG)1000 * 1000000000> pico;
typedef ratio<1, 1000000000> nano;
typedef ratio<1, 1000000> micro;
typedef ratio<1, 1000> milli;
typedef ratio<1, 100> centi;
typedef ratio<1, 10> deci;
typedef ratio<10, 1> deca;
typedef ratio<100, 1> hecto;
typedef ratio<1000, 1> kilo;
typedef ratio<1000000, 1> mega;
typedef ratio<1000000000, 1> giga;
typedef ratio<(_LONGLONG)1000 * 1000000000, 1> tera;
typedef ratio<(_LONGLONG)1000000 * 1000000000, 1> peta;
typedef ratio<(_LONGLONG)1000000000 * 1000000000, 1> exa;

126 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:18:57.79 ]
>>125
ソースが巨大AAというのも探せばありそうだなw

127 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:24:55.62 ]
ラムダ式の型を取得できないのは知ってたけど以下のコードの2)もダメなんだな。

 auto lamda1 = [](int a) { return (a * 2) << 2; };
 auto lamda2 = [](int a) { return (a * 2) << 2; };
 lamda1 = lamda1; // 1)
 lamda1 = lamda2; // 2)

1)はOK

128 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:26:43.93 ]
型が違うんだからそりゃそうだろ

129 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:31:09.54 ]
>>125
#if で囲まれてるところも余さず引用しなきゃw

typedef ratio<1, (_LONGLONG)1000000 * 1000000000 * 1000000000> yocto;
typedef ratio<1, (_LONGLONG)1000 * 1000000000 * 1000000000> zepto;
typedef ratio<1, (_LONGLONG)1000000000 * 1000000000> atto;
typedef ratio<1, (_LONGLONG)1000000 * 1000000000> femto;
typedef ratio<1, (_LONGLONG)1000 * 1000000000> pico;
typedef ratio<1, 1000000000> nano;
typedef ratio<1, 1000000> micro;
typedef ratio<1, 1000> milli;
typedef ratio<1, 100> centi;
typedef ratio<1, 10> deci;
typedef ratio<10, 1> deca;
typedef ratio<100, 1> hecto;
typedef ratio<1000, 1> kilo;
typedef ratio<1000000, 1> mega;
typedef ratio<1000000000, 1> giga;
typedef ratio<(_LONGLONG)1000 * 1000000000, 1> tera;
typedef ratio<(_LONGLONG)1000000 * 1000000000, 1> peta;
typedef ratio<(_LONGLONG)1000000000 * 1000000000, 1> exa;
typedef ratio<(_LONGLONG)1000 * 1000000000 * 1000000000, 1> zetta;
typedef ratio<(_LONGLONG)1000000 * 1000000000 * 1000000000, 1> yotta;

130 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:39:01.24 ]
>>128
メンバにラムダを持つクラスが作れないってことか



131 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:40:55.44 ]
>>130
つ function

132 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:46:06.47 ]
EffectiveC++14はよ

133 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:49:47.26 ]
>>132
おっと、それはVC++がC++11対応を終えるまで待っていただこう

134 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:51:10.60 ]
一生でないな

135 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 22:58:58.72 ]
>>131
重いよー

136 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 23:25:06.08 ]
C++のどこを指して機能が少なすぎると言ってるのか全く理解出来ないが
(OSのエントリポイントをコードできないという意味か?)
C++は最高の柔軟性を持っている。アセンブラを除けば他の言語に出来て
C++に出来ない事は存在しない

137 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 23:29:29.85 ]
標準ライブラリが少ないというのには同意する

138 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 23:37:58.19 ]
他の言語がありすぎな気も

139 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 23:43:02.49 ]
boostさんがいれば大概のことはなんとかなる

140 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 23:56:02.18 ]
>>136
>>127



141 名前:デフォルトの名無しさん mailto:sage [2013/11/10(日) 23:57:21.87 ]
>>140
記述方式と言語の能力をごっちゃにしてる当たり「高級」言語しか使えないの丸見え

142 名前:デフォルトの名無しさん [2013/11/11(月) 00:11:14.72 ]
127 は型が「違う」のではなく「同じである保証がない」
つまりは「同じであることに依存してはならない」ということだ

C++ の元来のポリシーからして複数の typedef や typename が
たまたま同じなら通るわけで、127 が NG なのは唐突な印象だが

143 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 00:12:16.57 ]
委譲の話、データメンバーのinline指定で委譲になって
usingで選択、とかならいいな
んでusing指定はdecrarator-idだけ指定すればOKで
必要ならdeclarator全体書けば特定のoverloadが指定できるとか
class A {
void f();
void f(int);
void g();
void g() const;
};
class B {
inline A impl using { f(int), g };
};
とか

まあ、そんな大きくコア言語いじるほど欲しい機能じゃないけど…

>>123
IDEに任せるなら今でもやろうと思えば可能なような
あとn1363のはusing identifier { }だけど、名前空間でそんなのあるっけ?

>>122
n1363の別名定義は=の左右の向きが受け入れがたいよね

144 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 00:16:18.11 ]
VLAISとかgccが独自拡張してるのを追ってったらなんぼでもあるだろ
古い言語でもPascalの関数内関数と同じ機械語パターンはC++のラムダじゃ吐けないが

145 名前:デフォルトの名無しさん [2013/11/11(月) 00:17:40.35 ]
gccはデファクトスタンダードなのでgccの拡張を取り込んでいない
標準規格のほうが規格違反。

146 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 00:18:55.74 ]
>>142
結局記述方式の問題だろ?

147 名前:デフォルトの名無しさん [2013/11/11(月) 00:28:12.95 ]
>>146
一致を狙ってくる意図のほうだと思うが

148 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 00:33:43.08 ]
Cにウンコな記述方式を追加したのがC++なんだから
記述方式を否定したら何も残らん

149 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 00:41:27.94 ]
って事は今の言語はみんなウンコ

150 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 00:55:07.19 ]
>>123
C++03の時点でusingをclass内に書くとメンバー関数の
アクセス権昇格と降格に使えるようになってるから問題ない。
C++03の知識すら無いのにこのスレくんな



151 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 01:08:34.24 ]
>>143
戻り値で得たオブジェクトに機能追加する際大活躍するぞ

std::unique_ptr< Base > base = Function();
Extention extention = std::move( base );

extension.BaseFunction();//Base型に自動委譲された関数
extension.ExtendFunction();//Extensionで追加した関数

IDEで自動生成すればいいという話も出てるが、
委譲先の型に関数追加するたびに自動生成とかやっとられん。
特に既にライブラリー化されたものだと自動生成は使えない。

152 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 02:08:13.18 ]
なるほど、確かにそういうのはアリかも

そういえばスマートポインタが絡むとどう宣言するか難しいな

153 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 07:06:35.91 ]
ポインターに限定せず、指定した変数の->が
自動で呼ばれる仕様にしとけばいいんじゃね。
委譲用の関数がコンパイル時に自動生成される実装に
なってりゃそれ程難しくもない。

154 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 13:16:54.80 ]
多重継承恐怖症患者の憂鬱

155 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 14:03:59.01 ]
C++がやっぱり覇権言語のような気がする

156 名前:デフォルトの名無しさん mailto:sage [2013/11/11(月) 14:31:55.45 ]
>>154
多重継承じゃポインターは継承できないぞ

157 名前:デフォルトの名無しさん [2013/11/11(月) 15:33:24.45 ]
イミフ

158 名前:デフォルトの名無しさん [2013/11/11(月) 23:00:37.29 ]
関数の戻り値から単純な図形と2次Bezierぐらいしか対応して無いPainter拾って来て、
3次BezierとSplineを追加したいなんて時に委譲すんだが
かったるいんだよな。特に委譲先のメンバーが20個以上あるような場合。

159 名前:デフォルトの名無しさん mailto:sage [2013/11/12(火) 00:22:39.31 ]
gccのfloat最適化が期待したほどじゃなかった人?

160 名前:デフォルトの名無しさん [2013/11/12(火) 08:45:52.81 ]
>>159
誤爆か?



161 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 12:03:51.85 ]
質問です

ideone.com/LDs6Av

2つのクラスの間でoperatorを定義したいのですが、先行宣言した方のクラスではdecltypeが書けません。
これをdecltypeを使えるようにするにはどのように書けば良いのでしょうか?

この例ではdoubleと書いてありますが、templateで他の型も使えるようにしたいと思っています。

162 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 12:57:06.26 ]
テンプレにすりゃいいんじゃねーの

163 名前:デフォルトの名無しさん mailto:sage [2013/11/21(木) 14:05:23.08 ]
>>162
ありがとうございます

ideone.com/WPhg2Q

これで行けそうです
classの中でoperator*を定義しようとすると、もう一つのclassのdがprivateで
型を取得出来ないので、アクセサを付けるとカプセル化を破る事になるし、
だったらfriendでoperator*を外部に関数で定義した方が良さそうでした

164 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 07:58:38.52 ]
んな現行規格の話はC++初心者スレで聞けよ

165 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 10:45:50.90 ]
decltypeが現行規格か?C++11ならそうだけど
初心者スレは03までじゃないとスレチな気が

166 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 12:34:18.94 ]
>>165
スレタイ見て物を言え

167 名前:デフォルトの名無しさん [2013/11/22(金) 13:24:27.31 ]
現行規格は C++11
異論をはさむ余地はない

ただし >>163 は decltype なくても typedef で解決できることだね
template <class T>
class A {
public:
typedef T D;
private:
D d;
public:
A(D a) : d(a) {}
};

168 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 13:34:32.78 ]
>>167
typeを外に晒してもoperatorの戻すtypeは結局decltypeが必要になるんじゃね?
どんなtypeとどんなtypeを演算するのかわからないんだから

169 名前:デフォルトの名無しさん [2013/11/22(金) 14:16:20.77 ]
>>168
それは確かに C++11 で改良された点だが
cout<< に流せる型なら特殊化でもしておけば?

class T は理屈の上ではあらゆる型だが
class A で達成しようとしている目的から外れすぎた
馬鹿げた T はシカトってのもよく使う手だね

C++11 なら、これも type_traits や static_assert でもうちっと善処できるけど

170 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 14:17:40.69 ]
特殊化したんじゃtemplateにする意味がない
どんな型でも受けたいんだから



171 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 14:28:49.50 ]
結局>>167でdecltypeを使わずに具体的にどう書くかは示されてないのか

172 名前:デフォルトの名無しさん [2013/11/22(金) 14:29:55.90 ]
あるいは何型の戻りを期待するのか陽に指定とかね
operator * では無理だけど、そんなら普通の関数だし

173 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 14:42:23.80 ]
どんな型でもって、特定のメソッド要求してる時点で型が限定されてんじゃん?

174 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 17:46:59.67 ]
>>173
特殊化されてない同名メソッドと
型に付随する特定のメソッドとは別概念じゃん?

175 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 17:51:22.08 ]
はよ初心者スレに帰れよ

176 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 18:03:43.31 ]
ガタガタ抜かさんと>>167書いた奴はideone.comに何かプログラム例上げてみ

177 名前:デフォルトの名無しさん [2013/11/22(金) 18:18:17.64 ]
>>176
やだね、べろべろばー

178 名前:デフォルトの名無しさん mailto:sage [2013/11/22(金) 18:50:08.40 ]
書けない癖に偉そうな口を聞くからそうなるんだよアホ

179 名前:デフォルトの名無しさん [2013/11/22(金) 20:29:56.47 ]
>>178
煽れば何か見せてもらえると思ってんだろバーカ

180 名前:デフォルトの名無しさん [2013/11/22(金) 23:43:06.64 ]
お前のは見たくないからいいよ。



181 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 02:17:07.60 ]
勿体付けてるんじゃなくて、本当に書けないのは誰が見ても分かる

182 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 07:24:06.67 ]
退屈だからoperator ** (ベキ乗)でも定義するか

class num {
double a;
struct num2 { double a; num2(double src) : a(src) { } };
public:
num(double src) : a(src) { }
const num2 operator *() const { return num2(a); }
double operator *(const num2& b) const { return pow(a, b.a); }
double operator *(const num& b) const { return a * b.a; }
};

int main()
{
num a(3.0), b(4.0);
double c = a * b; //12
double d = a ** b; //81
return 0;
}

183 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 07:59:59.46 ]
class num2 { friend num; double a; num2(double src) : a(src) { } };
としてもっと完全に隠蔽すべきだったな

184 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 11:22:58.52 ]
>>182-183
スレ違いだボケ

185 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 12:36:41.30 ]
threadとかasync周りについて詳しく解説したページない?
何かよくわからん

186 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 13:07:54.38 ]
>>185
このスレで聞くな

187 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 13:22:08.54 ]
threadはともかくasyncは出来損ないなので勉強するだけ無駄

188 名前:デフォルトの名無しさん [2013/11/23(土) 13:23:37.41 ]
>>182-183
num2 無しにしたらどうよ

class num {
double a;
public:
num(double src) : a(src) { }
operator double() const { return a; }
const num *operator *() const { return this; }
const num operator *(const num *p) const { return pow(a, *p); }
const num operator *(const num &amp;amp;b) const { return a * b; }
};

int main()
{
num a(3.0), b(4.0), x(0), y(0);
double c = a * b; //12
double d = a ** b; //81
x = a * b; //12
y = a ** b; //81
return 0;
}

189 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 13:28:58.41 ]
>>188
荒らしかよおめーは

190 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 13:47:35.56 ]
相手されないと死ぬ幼児です



191 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 17:19:44.89 ]
threadはどうなの
C++14で何か変更あるの

192 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 18:18:35.60 ]
shared_(mutex|lock)

193 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 18:34:32.77 ]
async 件、誰か kwsk!

194 名前:デフォルトの名無しさん mailto:sage [2013/11/23(土) 20:30:20.81 ]
>>9

195 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 01:04:48.21 ]
>>193
www.amazon.co.jp/C-Concurrency-Action-Practical-Multithreading/dp/1933988770

196 名前:193 mailto:sage [2013/11/24(日) 02:46:41.05 ]
ごめん少し言葉足らずだった
asyncができそこないって件kwsk!

197 名前:デフォルトの名無しさん [2013/11/24(日) 04:47:47.62 ]
getせずにfutureが破棄されたらどうすんのか決まってなかったけど、そのままデタッチしたら危ないから終了までブロックするようにした。
そしたら、
「それasync違うじゃん、止まってほしくない時まで止まっちゃうの問題じゃね?非同期処理を行いたい時はUIスレッド止めずにバックグラウンドで何かしたいときとかなのに!」
とか、
「非同期ならそのスレッド止めずに結果はコールバックで受け取るようにすべきで、そのライブラリ無いのおかしくない?でもそれ作ったらいまのasyncいらんよね。」
とか、
「Windowsだとこんな使い方してもスレッド起動のコストでかすぎて大抵遅くなるだけだわー」

とか、色々なネガティブ要素でもういっそdeprecateにしたほうがいいんじゃないか?って話しになってるんだと思ってる。
個人的にはできそこないって言うほどダメなもんでもないと思うけど・・・。

違ったら詳しいひとツッコミよろ

198 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 08:28:19.73 ]
The C++ Standard Library 2nd ed - A Tutorial and Reference - Nicolai M. Josuttis

www.amazon.co.jp/The-Standard-Library-Tutorial-Reference/dp/0321623215

これいいな
C++11わからんとか言ってるやつはここのサンプルプログラムを手で打ち込んで全部試してみれ
英語版しかないのが玉に瑕だがそんなに難しい英語じゃない

199 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 10:01:08.30 ]
時代はC++14

200 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 11:33:31.84 ]
コンパイラがない



201 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 11:38:02.86 ]
僕達にはclangがある

202 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 11:55:58.66 ]
vc++のことも忘れないであげてください

203 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 12:57:42.87 ]
パターンマッチは入らないのかな

204 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 14:05:48.12 ]
スマポが配列を指す時に苦労した
これデフォルトのデリータがdeleteなんだな
だからカスタムデリータでdelete[]をラムダ式か何かで指定するか、
std::default_delete()を使わないといけないのか

205 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 14:42:02.32 ]
デフォで配列版が用意されてるのはunique_ptrだけなんだな。
なぜだろ?

206 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 16:10:40.65 ]
>>205
オブジェクトを複数のオブジェクトで共有するならまだしも、
生配列を複数のオブジェクトで共有して何に使うんだよ。
要は生配列共有すんなって事だ。

207 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 16:20:29.44 ]
vectorかarrayを使っておけというところじゃね。

C++の動的配列って中途半端だよね。
delete[]で各要素のデストラクタ呼べるように
サイズとか内部的に持っているのに普通には使えないとか。
deleteとdelete[]使い分けろとか。

208 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 16:38:04.69 ]
>>207
new T;で生成したオブジェクトdeleteする時にnew T[];とどうやって区別するんだ。
常にnew T[]した時余計な情報載せるのか?

209 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 16:59:52.30 ]
>>207
デストラクターが無い場合に要素数を持たないようメモリをケチること許す言語仕様ゆえ

210 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 17:07:57.10 ]
>>209
Cの配列と互換性持たせるためでもあるな。



211 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 17:13:06.24 ]
それは関係ないんじゃ
使う側が見たnew式の結果は区別が付かないだから

212 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 17:19:54.68 ]
>>206
配列の時だけってか?

213 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 21:23:17.89 ]
>>205
unique_ptrには他のスマポと違ってコピーコンストラクタがないから
配列版=>単一版への誤ったコピーが起きにくい。

214 名前:デフォルトの名無しさん [2013/11/24(日) 22:22:47.31 ]
>>207
ぶぁか

215 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 23:26:15.38 ]
>>211
単体のnewに要素数情報乗っけられるのも困るな
1000回newしたら8000バイト近くdeleteの為だけに主記憶領域食われるんだからな

216 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 23:41:30.04 ]
>>213
テンプレートコンストラクタだから正しく言うとコピーコンストラクタじゃない

217 名前:デフォルトの名無しさん mailto:sage [2013/11/24(日) 23:49:40.23 ]
コピコンじゃないの!?

218 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 00:09:23.90 ]
コピコンが無いってのは確かだが、配列=>単一のコピーの話をするんであれば問題なのはそこじゃない

219 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 01:00:10.11 ]
配列=>単一のコピーってどういう話?

220 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 06:19:02.67 ]
>>219
unique_ptr<T[]> a(new T[8]>;
unique_ptr<T> b(a>;
ってのが通ったらまずいが、unique_ptrには下のコンストラクタがないから大丈夫。

shared_ptr<T[]> c(new T[16]>;
shared_ptr<T> d(c);
ってのが通ったらまずいが、shared_ptr<T[]>なんてものはないから大丈夫。



221 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 09:59:08.91 ]
shared_from_this()というのがいまいち理解できない

これどうなってんの?

222 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 21:53:44.84 ]
やってることはトリッキーだけど単純なことなんだがシンプルで具体的な使用例がだせないな

shared_ptrで管理されてるオブジェクトがなんらかの事情で普通のポインタで渡されたときに
そのポインタから元のshared_ptrと管理権を共有するshared_ptrを得るというイディオムで使うんだけどな

223 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 22:26:31.25 ]
www.ogis-ri.co.jp/otc/hiroba/technical/boost/index.html
のコラム2

224 名前:デフォルトの名無しさん mailto:sage [2013/11/25(月) 22:40:55.34 ]
なるほどかなり特殊なケースみたいだな

225 名前:デフォルトの名無しさん [2013/11/25(月) 22:42:55.82 ]
>>222
「shared_ptrで管理されてるオブジェクトがなんらかの事情で普通のポインタで渡されたときに
そのポインタから元のshared_ptrと管理権を共有するshared_ptrを得る」というイディオム

長えよ

226 名前:デフォルトの名無しさん mailto:sage [2013/11/26(火) 00:02:08.16 ]
イディオム名はそのまま『shared from this イディオム』でそれはどういうもの?って説明が>>222だろ

227 名前:デフォルトの名無しさん mailto:sage [2013/11/26(火) 21:33:57.58 ]
boost::shared_ptrに記憶領域の番地を入れた際、
要約値を鍵にした連想配列(hash map)に
記憶領域の番地を格納。
boost::shared_from_thisを実行した際、
この連想配列からthisの持つ番地で、
boost::shared_ptrをとってくるって仕組みじゃないか?

228 名前:デフォルトの名無しさん mailto:sage [2013/11/26(火) 22:00:12.84 ]
内部にthisを指すweak_ptr持ってるだけだよ
後はshared_ptrのコンストラクタがenable_shared_thisを継承したクラスを特別扱いしている

229 名前:デフォルトの名無しさん mailto:sage [2013/11/26(火) 22:40:40.37 ]
参照カウンターの整合性はどうなるんだ?

230 名前:デフォルトの名無しさん mailto:sage [2013/11/27(水) 09:48:18.32 ]
>>229 どんなケースで問題が起こると思ってるの?



231 名前:デフォルトの名無しさん mailto:sage [2013/11/27(水) 18:38:48.13 ]
newして返したboost::shared_ptrと、
boost::shared_ptrで確保した、boost::shared_ptrを返した時。
特に片方が共同所有権としてつかわれ、
片方がEventの委譲用とかよくありがちじゃん。

232 名前:デフォルトの名無しさん mailto:sage [2013/11/27(水) 18:42:03.66 ]
それで何か問題になるのか

233 名前:デフォルトの名無しさん mailto:sage [2013/11/27(水) 19:47:52.61 ]
>>232
二重delete

234 名前:デフォルトの名無しさん mailto:sage [2013/11/27(水) 21:00:11.72 ]
長文失礼
shared_ptrのオブジェクトの管理領域は次のようになっている
管理領域の参照カウンタ、オブジェクトの参照カウンタ、オブジェクトへのポインタ、デリータへのポインタ
ここで、shared_ptrは管理領域、オブジェクト両方のカウンタを増減させる。 weak_ptrは管理領域のカウンタのみを変更する。
shared_ptrの破棄によってオブジェクトのカウンタが0になったとき、オブジェクトは解放される。
しかし、管理領域は全てのweak_ptrが破棄されるまで生存する
そして、weak_ptrからshared_ptrを構築する際には、shared_ptrの管理領域へのポインタをweak_ptrが指す管理領域へのポインタへと設定している

235 名前:デフォルトの名無しさん mailto:sage [2013/11/27(水) 21:02:36.06 ]
長すぎと言われた、連レスすまん
enable_shared_from_thisは内部にweak_ptrを持っていて、shared_ptrのコンストラクタはenable_shared_from_thisを継承したクラスに対しては特殊な動作、すなわち内部のweak_ptrに管理領域へのポインタを設定する動作をする
shared_from_this関数は内部のweak_ptrからshared_ptrを構築する関数で、前述のように同じ管理領域を指すポインタが新たに構築される
全てのスマートポインタが同じ管理領域を指しているので、二重解放は起こらない

236 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 01:04:05.46 ]
>>231
> newして返したboost::shared_ptr
わからん。何を new ?返すってどこからどこに?
> boost::shared_ptrで確保
わからん。 shared_ptr に何かを「確保」する機能なんて無いよね?

さっぱりわからん。

237 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 10:41:28.04 ]
>>231 >>233
こいつはたぶんshared_ptrそのものを理解してない

238 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 19:18:57.03 ]
普通に使えば普通に使えるライブラリを
浅知恵で細工して可読性もパフォーマンスもセキュリティもぶち壊す

C++ではよくあること

239 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:25:36.50 ]
そういや shared_ptr を使っているインスタンスに対してVisitorパターンだったかやってみようとしたら
途中で生ポインタに変わっちゃうんであきらめたことがあった

class Hage : public Element
{
virtual void accept(Visitor &v){ v.visit(this); } // <- このとき
};

enable_shared_from_this ってのを知っていたらうまいことできたんだろうか

240 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 01:14:30.49 ]
うん



241 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 10:18:00.12 ]
static_pointer_castとか面倒だけどこれ使わないと未定義の動作になっちゃうのね

242 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 10:37:25.12 ]
std::accumulateって情報落ちの対策してるの?

243 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 11:42:28.09 ]
全然

244 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 12:21:41.45 ]
なんで現行規格や規格外の話ばっかしてんの?

245 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 18:26:52.04 ]
規格とか仕様とかどうでもいいと思ってるから

246 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 21:46:12.55 ]
もうそれ以上VC++さんを責めるのはやめてあげてください。
Windowsユーザーを嫌いになっても、VC++のことは嫌いにならないください!

247 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 07:24:14.22 ]
2013でもconstexprコンストラクタが使えないんだっけ?

248 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 12:44:25.52 ]
スレ違い

249 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 15:16:58.20 ]
じゃあC++1yの話題をふってくれ

250 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:20:02.98 ]
何も無理してスレを伸ばすことは無い。



251 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:43:34.66 ]
template <typename T>
void foo (T val)
{
if (std::is_reference<T>())
std::cout << val << " is reference." << std::endl;
else
std::cout << val << " is not reference." << std::endl;

if (std::is_const<T>())
std::cout << val << " is const." << std::endl;
else
std::cout << val << " is not const." << std::endl;
}

int main()
{
int x;

foo(std::ref(x));
foo(std::cref(x));
}

これちゃんと動く?俺の所では両方とも"not"になってしまうんだが
gcc4.8.1

252 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:53:12.44 ]
そりゃそれ自体はコピーだからな

253 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 10:38:08.55 ]
ああなるほど

254 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 11:05:40.87 ]
ついでにvoid f(T &&)にしたところで
const int &自体はconstじゃないから

255 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:17:53.77 ]
コピーだからじゃなくて、fooに渡されるのはstd::reference_wrapper<T>だからだろ

256 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:55:11.13 ]
std::reference_wrapper<int> じゃないの

257 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:07:07.83 ]
そうだね
>>251のfooのTは
1番目 std::reference_wrapper<int>
2番目 std::reference_wrapper<const int>
になる

258 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 15:15:10.61 ]
うへ('A`)

259 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 15:17:50.10 ]
これ間違いなんかい
C++ Standard Library 2nd P132

5.4.3 Reference Wrappers
Class std::reference_wrapper<>, declared in <functional>, is used primarily to “feed” references
to function templates that take their parameter by value. For a given type T, this class provides
ref() for an implicit conversion to T& and cref() for an implicit conversion to const T&, which
usually allows function templates to work on references without specialization.
For example, after a declaration such as
template <typename T>
void foo (T val);
by calling
int x;
foo (std::ref(x));
T becomes int&, whereas by calling
int x;
foo (std::cref(x));
T becomes const int&.

260 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 16:27:32.40 ]
間違ってるね



261 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 19:51:23.63 ]
Standard Library 2ndのasync/thread回りをようやく読み終えた
これは難しい・・・

次はC++ Concurrency in Actionを読むけどどこまで理解出来るやら・・・
しかしこれを理解しないとマルチコアのメリットが活かせないわけだしなあ

262 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 20:17:59.91 ]
何を言っているんだ
 マルチスレッドが難しい→まあそうだがスレ違いだ
 C++のasyncが難しい→んなもの知らなくてもマルチコアは活かせる

263 名前:デフォルトの名無しさん [2013/12/06(金) 20:26:17.66 ]
ライブラリ作る人のための最低限のツールだもんね。
GC周りと一緒で。

264 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 20:27:53.55 ]
OpenMPとかだろ?そういうのじゃなくて移植性の高いのが欲しいわけで

265 名前:デフォルトの名無しさん [2013/12/06(金) 21:00:59.87 ]
ぶっちゃけスレ違いです。

266 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 21:25:50.97 ]
asyncとthreadはスレ違いじゃないだろ

267 名前:デフォルトの名無しさん [2013/12/06(金) 21:33:06.89 ]
スレを扱うからスレは違って当たり前・・・w

268 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 21:39:56.32 ]
どうでもいいけどなんでいつもageて書いてんの?バレバレなんですけど

269 名前:デフォルトの名無しさん [2013/12/06(金) 21:58:36.96 ]
sageる義務がないからさ
そんなことも知らないの? 馬鹿なの? 死ぬの?

270 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 22:02:52.04 ]
あーだめだこいつ頭おかしいや
相手にしないでおこう

OpenMPはスレ違いだが、threadやasyncはスレ違いではない
れっきとしたC++11の話題だ



271 名前:デフォルトの名無しさん [2013/12/06(金) 22:11:13.55 ]
どうでもいいことは始めからぬかすな 顔おかしいの? 不細工なの? 相手いないの? 単為生殖なの?

272 名前:デフォルトの名無しさん mailto:sage [2013/12/06(金) 22:58:05.20 ]
>>270
ここはC++第三版(2011/9/1改訂)のスレではない

 馬 鹿

273 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 00:41:02.43 ]
11で追加された新参者だから14/1yで変更されない保障はないっていう意味だとか

274 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 02:34:31.91 ]
C++11の話題はスレ違い
async退学の話ならして良い

275 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 05:34:44.72 ]
clangでも入れるしかないか
VSに入れられるんだからそれで遊べる

276 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 11:24:24.94 ]
現行規格はスレ違い

277 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 11:27:15.41 ]
じゃあ次期の話をしようか。
委員会ドラフトってどうなったの?
無かったことにされるレベルで変更入りまくり?

278 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 13:37:43.49 ]
C++11のスレがないじゃないか

279 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 13:51:57.55 ]
C++相談室 part107
toro.2ch.net/test/read.cgi/tech/1384818417/
【初心者歓迎】C/C++室 Ver.88【環境依存OK】
toro.2ch.net/test/read.cgi/tech/1384061494/

280 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 15:19:00.84 ]
C++11は現行規格なわけだし、
特別扱いする必要は無いんだお



281 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 16:13:58.10 ]
了解した
しかし今のC++スレの質の低下はひどいもんだ
あそこでスレッドやらasyncを質問して果たして答えてくれるのやら
試してみよう

282 名前:デフォルトの名無しさん [2013/12/07(土) 18:48:32.64 ]
必要だと思う人がいるのなら、C++11のスレ作ったらいいんじゃないの?

283 名前:デフォルトの名無しさん [2013/12/07(土) 19:03:22.93 ]
アイちゃん認定されそう

284 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 19:48:05.55 ]
C++14をやるのにどのコンパイラ使っている?
VC2013?

>>281
実際にthread,asyncを使っている奴は少ないだろうからな
対応遅すぎたって感じだし

285 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 21:20:09.07 ]
VS2012でも2013でもいいからClangを入れてしまえばいいだろう

threadは実際にマルチスレッドプログラミングをするにはプリミティブ過ぎて使いにくいから
asyncが考えられたんだろうが、まだ完成度が低い
それにデッドロックやレース状態、リソーススタベーションを起こさずにスラスラプログラムを
書ける奴がどの位いるやら
C++14でもっとまともになるっしょ

286 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 21:36:02.04 ]
僕ちゃんバカだからVSでのビルドわかんなーい><

287 名前:デフォルトの名無しさん mailto:sage [2013/12/07(土) 22:04:49.66 ]
何言ってんの

"clang visual studio 2013" とかでぐぐればいくらでも出てくるだろ

288 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 05:08:13.45 ]
C++14なんてもう出るのか。C++11からすぐだったけど、何か不具合でもあったの?
禿も、またプログラミング言語C++書き直しやん。

289 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 08:32:22.14 ]
これからのコンパイラはClangだらけになったりして
一番対応が早くて楽だしな

290 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 11:06:23.03 ]
>>287
ぜんぜんないよ!失敗談はたまにでてくるけど



291 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 13:11:37.44 ]
MSがclangを採用するって噂も一時期あったね、そういえば

292 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 14:14:26.48 ]
よく知らんけどclang使うとなんかいいことあんの?

293 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 14:48:39.05 ]
>>292
今すぐC++14が使える

294 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 15:39:04.90 ]
オナニーができます

295 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 16:43:50.07 ]
>>291
clang関係のリクルート出してた件?
VSで採用って話までは疑問視されてたような
でも何やらされてるんだろうね

296 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 17:19:07.49 ]
そそ、それ
疑問視されてたって話は知らなかったけど

IntelliSenseとかIDE側で使っているのかも知れないね

297 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 17:29:11.81 ]
>>296
使ってたらコードが混ざってるだろ。
VSでclangを使うことを想定した作業とか、
差し替えた時の互換性を高める作業とか、そのへんじゃねーの?

298 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 17:43:25.22 ]
この辺じゃないの? C++ AMP の clang 対応。
hsafoundation.com/bringing-camp-beyond-windows-via-clang-llvm/

299 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 19:52:19.02 ]
C++ AMP がMSのC++後続の標準の言語になるのかね
規格のC++じゃ時代遅れなのかもな。C#で脱C++を開始した感じがあるからな

300 名前:デフォルトの名無しさん [2013/12/08(日) 20:26:03.49 ]
C++ AMPが何か知ってから語れ。



301 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 20:35:43.88 ]
>>300
規格のC++じゃヘテロ対応できないだろ。GPU載っているCPUが普通だし
そんなのに対応するのにC++プラスアルファが必要で独自拡張。

302 名前:デフォルトの名無しさん mailto:sage [2013/12/08(日) 21:02:22.52 ]
脱C++

303 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 00:05:43.36 ]
VS2013Expressでのclangのビルドってどうやるんですか?

304 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 00:24:11.61 ]
>>303
clangをビルドしたいのかclangでビルドしたいのか。

305 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 00:26:22.84 ]
>>301
それ、プラスするもんであって後続として元の物を置換するもんではないだろ。

306 名前:デフォルトの名無しさん [2013/12/09(月) 00:45:43.62 ]
スレ違いになるけど、いまデスクトップ用のGPGPUプログラミングって何が多いん?
C++AMP、openCL、CUDA等のGPUベンダの言語...
先端大好きのC++14野郎のお前らはGPGPUプログラムしている?

307 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 00:59:40.49 ]
>>305
ClangをVS2013に統合したいんじゃないのかな

308 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 01:04:03.94 ]
>>307>>304あてだった

309 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 01:09:58.35 ]
>>307
いやだから…
単に「clangとの互換性向上(統合含む)目的」とか
「MSがC++ AMP絡みでclang組み込む目的」とか
って推測なら、ああそうかもね、で済む話だろ

何故か>>299が「C++ AMP」が「MSのC++後続の標準の言語」
だとか変なこと言い出すから>>300みたいなツッコミされてんだよ

310 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 01:16:50.36 ]
>>308
アンカミスかよ…変だとは思ったけど>>299,301ならやりかねないと思ってその流れでレスしちまったorz

まず間違いなくそっちだろうけど、「clang"の"ビルド」と「clang"で"ビルド」を間違えてるなら指摘すべきじゃないの?



311 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 06:35:27.00 ]
cの__Genericどう?いい感じ?
visualCみたいに使えるのかな?
他にやることあって出来ないんだよね

312 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 06:50:43.07 ]
C++にはテンプレートがあるし…

313 名前:303 mailto:sage [2013/12/09(月) 10:30:36.34 ]
すんません、clangをビルドしたいんです

314 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 10:34:23.11 ]
clangはclangでできてないの?

315 名前:デフォルトの名無しさん [2013/12/09(月) 10:50:48.50 ]
VS2013のbuild targetは最近入ったばっかりだからVSは古いの使え。

316 名前:デフォルトの名無しさん mailto:sage [2013/12/09(月) 12:20:25.97 ]
>>313
Windows でやりたいのなら
教えて君には厳しすぎる。あきらめろん
ちなみに自称上級者の俺も(ry

317 名前:デフォルトの名無しさん mailto:sage [2013/12/10(火) 08:42:48.32 ]
>>290
マジメに調べてんの?

www.ishani.org/web/articles/code/clangvsx/

318 名前:デフォルトの名無しさん mailto:sage [2013/12/10(火) 09:06:11.37 ]
>>290
llvm.org/docs/GettingStartedVS.html

こんなんもあるぞ

319 名前:デフォルトの名無しさん mailto:sage [2013/12/10(火) 09:06:59.17 ]
>>311
cのすれで聞けよ

320 名前:デフォルトの名無しさん mailto:sage [2013/12/10(火) 16:08:58.08 ]
茶化している奴がこのスレにはいるみたいなんだよ
炎上学習法という正式名称もあるみたいだけどw、このスレには通用しないから



321 名前:デフォルトの名無しさん mailto:sage [2013/12/10(火) 18:11:33.09 ]
>>311
最悪
お前と同じ

322 名前:デフォルトの名無しさん mailto:sage [2013/12/13(金) 23:25:05.29 ]
C++って肥大化しすぎてもう終わりだ、なんて声聞くけど、代替言語あるの?
D言語ってどうなった?消えた?

323 名前:デフォルトの名無しさん mailto:sage [2013/12/13(金) 23:31:56.25 ]
facebookが採用したとかなんとか

324 名前:デフォルトの名無しさん mailto:sage [2013/12/13(金) 23:38:21.13 ]
facebookってPHP採用して、PHPが広く普及するのを牽引したらしいけど、
Dもそうなるのか?まさかな…

325 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 00:23:27.61 ]
C++2011はオナニー言語なので代替など必要ありません。
実用には2003をお使い下さい

326 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 00:41:41.83 ]
時代は Haskell
C++er なら割と簡単に Haskell を使い熟せると思うなぁ

327 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 05:50:08.94 ]
>>326
関数を作ったり使ったりはわりと簡単
コンピネータまでいくと概念を理解できるかどうかだけど

問題は副作用の記述が面倒なところ
最初は文字列の表示もよくわからなかったよ

328 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 08:27:20.84 ]
グリーがハスケル使ってたりするな。

329 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 10:37:11.59 ]
ところで来年は本当に規格が改訂されるんだろうな
0xとか言い続けて2009年までに出せなかった能無し共の仕事は信用ならない

330 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:11:50.60 ]
0x0b年に出たんだから良いではないか



331 名前:デフォルトの名無しさん [2013/12/14(土) 11:14:27.04 ]
GHもそんなこと言ってたな

332 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:19:59.15 ]
0xXXでなく0xだったのでその解釈はおかしい

333 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:22:07.81 ]
凄腕コンパイラ製作者のN氏は袖をまくりあげながらこう言い放つのだった

334 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:24:18.18 ]
>>329
concept入らないと出さないでしょ

335 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:26:45.72 ]
つまりは泥沼という訳ですね

336 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:30:12.71 ]
>>332
メンドくせえな
16進数ってのを分かり易いように0x付けただけだよ

じゃあもう一度な
16進数で0b年に出たんだから良いではないか

337 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:40:16.54 ]
>>325
autoは使える

338 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 11:50:00.42 ]
>>336
もともと09年までに出す予定で0xと称していたものを
出せなかったら「0xを0?hと解釈すれば問題ない」などとのたまう
最低のゴミクズだな。
こういう奴らは次は「35進数と解釈すれば…」と言い出すに違いない

339 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 12:15:29.95 ]
>>338
って言うか、お前本気で言ってるのか?
禿の洒落なんだが…

340 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 12:23:49.16 ]
じゃあハゲはゴミクズってことで
ところでハゲって誰?



341 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 12:48:15.83 ]
>>340
俺、ストラウストラップ(`ェ´)ビャーネ

342 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 13:33:26.32 ]
C++11のおかげで自分の所ではboostがほとんど不要になった。
C++1yにboost::format相当は入るかな?

343 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 13:37:26.12 ]
入りません

344 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 14:19:02.83 ]
そうなんだ。
まあ便利だけど、あれだけのためにboostを入れる必要はないな。

345 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 14:20:22.28 ]
うちはstdガン無視でboost継続利用中
今更変えると逆にトラブる

346 名前:デフォルトの名無しさん mailto:sage [2013/12/14(土) 16:42:55.67 ]
Boost.Format そのものじゃないけど
printf ライクに出力できるように
しようってのはペーパー出てた気がする。

347 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 21:26:22.20 ]
お前らどうやって勉強してんの
アイエスオーとか買って読んでるのけ?
そんなの買う金あったらソープ池よ

348 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 21:27:12.71 ]
isoならただで見れるだろ
お前はアホか

349 名前:デフォルトの名無しさん mailto:sage [2013/12/15(日) 23:39:03.96 ]
ソープ行く金で女口説けるだろ
特にこの季節、余り物オーラ見抜けば安いぞ
使い捨てませ

350 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 11:33:14.99 ]
>余り物オーラ見抜けば

御教示ください



351 名前:デフォルトの名無しさん [2013/12/16(月) 15:40:20.77 ]
オーラ漏れは地雷の目印
触っちゃダメだよ、ひどい目に遭うよ

352 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 16:49:37.22 ]
構ってもらえないオーラの方が食いつきがよさそう

353 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 19:54:45.71 ]
ISO規格ってタダで見れたか?
C++2014ドラフトはタダだけど

354 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 20:46:30.59 ]
最終ドラフトで充分って江添が言ってなかったっけ?
っていうか、 C++11 を見るくらいなら C++14 のドラフトの方がいいじゃん。

355 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 21:50:35.25 ]
C++11のFDISはちゃっかりゲットしてる

356 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 22:35:41.60 ]
俺はFDISの一歩手前のWDと、ISの一歩後のWDしか手に入らなかった。

357 名前:デフォルトの名無しさん mailto:sage [2013/12/16(月) 23:58:18.44 ]
>>354
規格に何を求めてるんだよ。求めるのは絶対的に正しい仕様だろ。
99%内容が同じでもドラフトに価値など無い。
おおざっぱに勉強したきゃそこらのサイトでも見た方が早い。

358 名前:デフォルトの名無しさん [2013/12/17(火) 00:06:13.45 ]
もうISOだけじゃなくて、ANSIでも安く売ってるんだから買えよな。
知らない奴は規格なんて縁のない人間なんだよ。

// しかしISOのサイトの広告は何とかならんのか。

359 名前:デフォルトの名無しさん mailto:sage [2013/12/17(火) 21:35:26.59 ]
ANSIがISO規格を売っているのですか?
初耳です。

360 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 01:02:58.85 ]
ANSI 版(INCITS 版)
webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2fISO%2fIEC+14882-2012
も売ってるけど ISO 版
webstore.ansi.org/RecordDetail.aspx?sku=ISO%2fIEC+14882%3a2011
も売ってるんだな、これが。安いの INCITS 版だけど。でも一時よりえらい値上がりしてる気が。



361 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 05:48:10.46 ]
本当に縁のある人はFDIS持ってると思う

362 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 17:00:54.23 ]
円のある人は規格で
縁のある乞食はドラフトという訳ですね。
規格の話をしたいときにドラフトを持ち出すような
ナンセンスなことをしなければよいけど

363 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 19:25:30.50 ]
日本規格協会でISO/IEC 14882を買ったら
PDFに「しおり」が付いていなくてブチ切れだったでござる。
JIS規格が時々画像のスキャンとか、夜道に気を付けろと言いたい。

364 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 19:30:50.23 ]
なぜスキャン画像なのかと聞いたら、
検索できないようにするため、との答え。
2度ぶちぎれですよ!。

365 名前:デフォルトの名無しさん [2013/12/18(水) 19:42:24.38 ]
公文書を「売る」変な団体だしな

366 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 19:49:49.93 ]
企業をタダで働かせて作ったものを売る
ことで経済産業省はボロ儲け。
そしてC++は企業に見捨てられたので
JIS規格が出せなくなった

367 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:01:29.41 ]
>>362
FDISは最終案で、OK出たらそのまま出版なんですけど

368 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:13:56.06 ]
>>367
OKが出たFDIS以外にドラフトは無いのか?

369 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:26:13.66 ]
>>367
FDISは修正して再提出があるわけだが
「これが本当に最後のファイルドラフト」とか
恥ずかしい

370 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:31:33.12 ]
「これが規格です」と名乗るための表紙の付いたお布施。
高々3万円ぐらい買ってやれよ。
江添がメシ食っていけないだろ。



371 名前:デフォルトの名無しさん [2013/12/18(水) 20:38:21.25 ]
もう都落ちしたそうだな

372 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 20:52:38.59 ]
規格買ってもエゾたんに円は入らんだろ

373 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:00:56.06 ]
規格を読むのはハードル高いけど最新仕様に関心はある層がいないと江添たん儲からない。

374 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:04:13.46 ]
江添は正直どうでもよくて
規格策定にも金はかかるんだから
適切なキャッシュフローのためにも
お布施しておけっていう話だろ

375 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:18:01.78 ]
取り敢えずコンセプトは要らんから
はよ出せ

376 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:42:07.79 ]
>>374
規格団体が制定すりゃ使われるかっていうとそんなことないだろ。
コンパイラがちゃんと追従して、わかりやすい関連書籍も出て皆が使うから規格に意味があるんだ。
ちゃんと産業で使われるなら規格策定なんぞどこかしらの企業がスポンサーに付くわい。
言語のエンドユーザーたるプログラマが直接 ISO やら ANSI やらに金を出すのは適切なキャッシュフローではない。

377 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 21:45:41.25 ]
というのが江添さんの持論です

378 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:06:23.22 ]
規格委員って規格委員会から活動経費とか言ってお金貰っているのか? 
それとも、無償でやっているのか。顔合わせてのミーティングとかだと
交通費とかかかるよな。

379 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:18:37.13 ]
>プログラマが直接 ISO やら ANSI やらに金を出すのは適切なキャッシュフローではない

規格はよだせ(出して欲しい)
→でも俺は金 払わない
→金はどこかの企業がだせ

この思考がヤバい

380 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:26:53.37 ]
それ美しい日本の精神じゃないか。



381 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:32:46.33 ]
規格の本来の目的は乱立していたものが統一されることで
産業全体が効率化されて最終的にエンドユーザーが
メリットを享受できるようにすることだろ。
今のC++1yは規格策定=新機能の開発になっていて
何か違うと思うんだ。

382 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 22:47:10.58 ]
なんで最初にわざわざカオスな状況を用意しなきゃいかんのよ
新機能を開発したい人たちが複数居て、ばらばらにやったら方言が乱立するから、一カ所でやって即規格化しようぜ
ってのが今のC++の規格策定プロセスなわけでしょ?
誰にとってもその方が望ましいと思うんだが

383 名前:376 mailto:sage [2013/12/18(水) 22:56:16.55 ]
>>379
> →でも俺は金 払わない

だってそうだろう。 工作が趣味だからってネジやら合板やらの規格策定に金出すか?
エンドユーザーは金を払って部品を書い、工作指南本を書い、道具を買うけど、
その背景にある規格を一貫させるのは各業界でやるのが筋だろ。
規格策定の分の費用が売り物の値段に上乗せされてたってかまわないが、
直接支援するのは筋が違う。

384 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 23:09:23.94 ]
>>383
「統一された規格を実装したコンパイラーが欲しい」と
「規格書が欲しい」を一緒にするなよ。
前者の人が規格策定行為に直接金払わないのは当たり前。

385 名前:デフォルトの名無しさん [2013/12/18(水) 23:32:58.20 ]
江添さんが金くれってごねてるの?

386 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 23:36:49.20 ]
>>377
どうでも良いことだが
江添は長音表記が通産省労害派(JIS Z 8301)じゃなくて
内閣府1991告示二号派だから別人
・コンパイラー
・コンピューター
・メンバー関数
・コンストラクター

>>385
江添はFDIS推奨らしいから違うだろ?

387 名前:デフォルトの名無しさん mailto:sage [2013/12/18(水) 23:48:00.41 ]
【重要】
落ち武者ネタは禁止します、使用しないでください。
万が一 アスペ落ち武者ネタが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。

※ スレタイと>>1をよく読んで下さい

388 名前:デフォルトの名無しさん [2013/12/18(水) 23:50:35.22 ]
落ち武者ネタって何?

389 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 00:19:26.90 ]
エゾたんのことか?
スレに沿う話題ソースにも非常に有益な御仁だし、話題から外すのは反対だな
偏屈ジジイなのは否定せんけど、アスペ落ち武者呼ばわりされるほど恨み持たれるような事してるのか?w

390 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 00:26:52.22 ]
まーああいう人が浪人してて金に困ってる、って時点で盛り下がってるんだな〜とは思う。
本来なら引く手あまたじゃなきゃまずいと。



391 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 00:49:09.70 ]
ああいう人は金に困ってなきゃおかしいです。
好きなことしかやらないんだから。

392 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 01:01:26.54 ]
どちらにも同意できて困る

393 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 02:27:13.52 ]
もし江添を雇うならエウ゛ァンジェリストとしてだろうな。
ああいうのは本人が面白そうにやってると説得力があるからな。

394 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:01:12.82 ]
不自由な製品はお断りだからな

395 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:16:02.14 ]
あいつはpdfに親でも殺されたのか

396 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:52:41.94 ]
偏屈ジジイっておまえなあ、江添くんまだ20代だぞ

397 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 03:54:30.73 ]
あんな自由に縛られた奴が20代なわけないだろ

398 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:04:48.44 ]
>>383
JISやISOは企業で使うために制定してるもの
趣味で作る分には規格書不要、コンパイラ付属のマニュアルでも読んどけ

399 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:16:23.50 ]
見てて面白いから良いだろ

400 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:40:00.84 ]
>>378
他のISOに関わったことあるけど、手弁当でした。海外出張年4回と普段のも。規格をネタに解説書書いて出版しましたが、マイナーな規格なので、予想通り初版5000部で絶版しましたし。



401 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 08:52:37.49 ]
>>378
2005年くらいまでは会社から支給があったけど、
今はもう持ち出しですよ
普通の勉強会の方が交通費が出ることもあるくらい

402 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 13:40:53.43 ]
江添とか IT 成金企業が飼っときゃいいのに。

403 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:22:00.93 ]
なんで企業が金にもならんキチガイ雇わにゃならんのよ

404 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:23:10.68 ]
>>401
それは援助金を集める担当者がサボっているのが原因に間違いない

405 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:25:53.72 ]
>>403
話題にはなるんじゃ
忘年会に集まるような怪しい連中じゃ無理だろ

406 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 14:38:54.05 ]
知り合いにやね某やえぴなんとかさんみたいな身の振り方上手い人がいくらでもいるのにどうしてこうなったんだろう

407 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 16:55:18.12 ]
えぴなんとかはともかく、その例だと知り合いが悪いんじゃねえの。

408 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 17:53:56.86 ]
誰か江○添を食わせてやれ
→俺は金出さないけど
→どこかの成金企業は金持ってるだろ

この思考がヤバい

409 名前:デフォルトの名無しさん [2013/12/19(木) 18:39:57.38 ]
やねさんと江添さんて知り合いだっけ?

というかさ、C++関係で専業の人間なんていないだろ
えぴさんにしろ、若手だとBoost勉強会の人にしろ、本業は別にあるわけだしさ
C++の専業伝道師のロールモデルなんてないわけで
それでも副業するのが嫌なら、苦労するしかないわいな

410 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 19:00:05.27 ]
えぴさんの本業ってなんなの?



411 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 19:05:41.21 ]
直接仕事取ってこれるタイプのIT土方

412 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 19:40:29.11 ]
いんちき競馬予想ソフト書かされて
いやになったんじゃなかったっけ

413 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:10:26.17 ]
Will Code HTML for Food

414 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:12:43.92 ]
仕事で使うのはC++のみって奴ってどれぐらいいるんだ
仕事では他の言語が主でC++が副って奴が多いんじゃないか

415 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:26:49.22 ]
専業ってなんだよ
シープラプラなんて既に
天ぷらオナニー用言語だろ
趣味でやるのが正しい使い方

416 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:52:25.18 ]
趣味なら余計にこんな糞言語使いたくねえ

417 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 20:56:10.73 ]
むしろそれがいい
右辺値山椒だけでご飯3杯はイケる

418 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:21:41.88 ]
web言語の方が御飯たべれる

419 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:45:24.39 ]
と、ここまでITドカタで御飯食べるのが精一杯な人間の世界観

420 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 21:58:05.96 ]
えぴさん、普段はとってもわかりやすい文を書く方なのにどうして本にするとわかりにくいの?
ファンとして悲しい‥



421 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:00:45.88 ]
その程度の能力だからなんだろ
誰だか知らんがソイツは

422 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:09:05.64 ]
読んだ直後は分かったような気になるけど、暫く経ってよくよく考えてみると実は全然分かってない。
リピーターを生み出す良い本とはそういうものだ!w

423 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:17:23.98 ]
>>412
それpmokyだろ

424 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:23:13.87 ]
>>422
マは底辺・低脳者の職種だから、全然分かってないが当たり前だよ
日本語ができない奴でもOKな職だし

425 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:24:21.68 ]
422のような馬鹿な信者が湧くことから
当人のレベルの低さが伺える

426 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:29:23.76 ]
けれど、皆さん、日本語は話せないけれど英語は読み書き出来るんでしょ?

427 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:34:17.30 ]
なぜ、c++のWeb Frameworkは流行らないのか

428 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:51:21.22 ]
危ないから

429 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:52:05.11 ]
>>427
何それ。emscripten?
サーバー側の話?

430 名前:デフォルトの名無しさん mailto:sage [2013/12/19(木) 22:57:44.76 ]
>>369
修正されなかった事も知らないの



431 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 00:18:14.60 ]
>>379
コンパイラに金を払ってりゃコンパイラのマニュアル読んでりゃ問題なくね。
gccとかclangとかはそれらが規格に準拠してて欲しいと思う個人や企業が身銭を切る。

ただ、規格に準拠してて欲しいと思う個人や企業ってのが、
規格に興味のない個人や企業が生んだ非互換のゴミに悩まされた被害者だと考えるといろいろとアレだけどな。

432 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 00:58:35.02 ]
>>429
CppCMS, Wt, Tree Frog

433 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 08:14:45.07 ]
>コンパイラのマニュアル読んでりゃ問題なくね
間違いではないんだが、独自の方言が普遍的と勘違い
する人を量産してしまう罪は重い

434 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 08:15:40.39 ]
sdkjla;hjklfdjl

435 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 17:04:18.77 ]
>コンパイラのマニュアル
文法の説明が無いくせに方言まみれのG++は
どうしようもないUNKOという訳ですね。
規格への準拠を期待して騙され続けているG++ユーザーは不憫です。

436 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 17:34:57.30 ]
規格書に金出せないアマチュアなんだからそれで問題無い

437 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 19:52:30.45 ]
プロは目的と手段を混同したりしない

438 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 19:57:41.24 ]
こういうこと言う奴に限って混同したプロ崩れのクズ。
特長は「いつも他人からみて幸せそうには見えず、
愚痴ばかりこぼしている」タイプ

439 名前:デフォルトの名無しさん [2013/12/20(金) 20:01:16.90 ]
おまえのことかw

440 名前:デフォルトの名無しさん [2013/12/20(金) 20:11:14.74 ]
プロはプロを自称しない。



441 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:20:03.81 ]
おまいら、コンパイラやインタプリタの企画書なんて読むの?

442 名前:デフォルトの名無しさん [2013/12/20(金) 20:28:13.35 ]
    【新 企 画】

新 宿 コ ン パ 2 0 1 3

ホ ゲ ホ ゲ 株 式 会 社

443 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:30:10.12 ]
企画など読む気も無いし読む必要も無い
言語の規格とコンパイラーの説明だけでok

444 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:39:18.09 ]
おまいら、規格書を元に修正要望とかバグパッチ書いたりするの?

445 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:44:54.33 ]
規格書はム板でアホを叩くために必携

446 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:55:09.71 ]
上司「今年のコンパの企画書を明日までに提出しなさい」
俺「承知しました」


447 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 20:57:16.25 ]
「開催の趣旨が薄れたため 今年度は開催しない」

448 名前:デフォルトの名無しさん mailto:sage [2013/12/20(金) 21:09:05.45 ]
☆★★

449 名前:デフォルトの名無しさん [2013/12/20(金) 21:42:23.42 ]
同音(本当は同音じゃないけど)異義語が、いつまで経っても痛いね

450 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 03:32:38.20 ]
>>444
MSにバグレポート出してるよ
別のチームはOSS向けのパッチ書いたりしてる



451 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 05:14:56.16 ]
言語の規格でなくコンパイラー/インタープリターの規格
に相当するものと言ったらJavaか?
読んでない

452 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 15:06:16.48 ]
>>431
> 規格に準拠してて欲しいと思う個人や企業

いやいやw

453 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 19:38:28.44 ]
>>431が何を言っているのかよくわからない

454 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 20:06:39.42 ]
俺は金を出さないけどお前らは出せって意味じゃね

455 名前:デフォルトの名無しさん mailto:sage [2013/12/21(土) 21:46:16.53 ]
gccやclangが規格に準拠して無くても構わないから規格購入費とか知ったこっちゃねーです。
VSは金払って買ってるから準拠してて欲しいと思うが金は払ったからあとはMSさん宜しくです。

456 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 04:35:05.93 ]
VisualStudioから入って、どうやってプログラムが書けるようになるのか謎杉
文法を覚えたばかりで小説を読んだことのない小学生に、
小説を書けって言ってるようなもの

457 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 06:02:59.88 ]
スレ違い&釣りはスルー

458 名前:デフォルトの名無しさん [2013/12/22(日) 21:10:21.66 ]
>>456
C++14のドラフト規格を暗記だな

459 名前:デフォルトの名無しさん mailto:sage [2013/12/22(日) 23:26:19.23 ]
言語の規格から入って、どうやってプログラムが書けるようになるのか謎杉
文法を覚えたばかりで小説を読んだことのない小学生に、
小説を書けって言ってるようなもの

460 名前:デフォルトの名無しさん [2013/12/23(月) 02:23:24.83 ]
規格にはコード例が載っているじゃないか。



461 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 02:38:15.61 ]
規格は仕様の背景や考え方の説明が乏しいので
初心者の学習には不向きです
禿にウザい信者が湧くのにはそれなりの理由がある

462 名前:デフォルトの名無しさん [2013/12/23(月) 11:05:02.18 ]
規格は文法だけじゃなくて用例も少し載ってるから>>459はちょっと違うね。

463 名前:デフォルトの名無しさん [2013/12/23(月) 11:06:19.83 ]
そういやANSI C, ISO C++の規格に用例が多いのはK&Rの影響かね。

464 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 13:24:49.71 ]
規格に載ってるサンプルはあくまで規格を説明するためのもので、適切な使用例というわけではないよ。

465 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 13:47:18.66 ]
むしろ変な例が多い気がする

466 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 13:57:18.25 ]
規格の落とし穴や注意点を説明するような例が多いしな

467 名前:片山博文MZコスモ ◆T6xkBnTXz7B0 mailto:sage [2013/12/23(月) 15:07:27.42 ]
https://dl.dropboxusercontent.com/u/72753355/cppreference-20130510-0.zip

468 名前:デフォルトの名無しさん mailto:sage [2013/12/23(月) 19:48:58.24 ]
むしろルールを仕様として書かずに
例が仕様となっているクソ説明

469 名前:デフォルトの名無しさん [2013/12/23(月) 21:04:22.02 ]
いやいや。

470 名前:デフォルトの名無しさん mailto:sage [2013/12/24(火) 11:50:05.02 ]
>>468
それはDR出していい。



471 名前:デフォルトの名無しさん [2014/01/11(土) 16:47:14.70 ]
誘導されてきました。

14のジェネリックlambdaが待ち遠しいんですけど、デフォルト引数を与えたりできますか?
fn を例えば2変数のファンクタとして、
[fn](auto x = 8) { return fn(1, x); }; みたいな。

よろしくお願いします。

472 名前:デフォルトの名無しさん mailto:sage [2014/01/11(土) 21:00:03.63 ]
無理

473 名前:デフォルトの名無しさん [2014/01/11(土) 22:15:52.14 ]
無理ですか・・・。
じゃあ仕方ないですね。
どうもありがとう。

474 名前:デフォルトの名無しさん mailto:sage [2014/01/12(日) 00:13:06.45 ]
可変長引数使うとか。

475 名前:デフォルトの名無しさん [2014/01/12(日) 09:09:35.68 ]
>>474
[fn](auto x、...) { return fn(1, x 〜
という形で、〜の部分を自分で埋めてくってことですよね。
可変長引数はできるんですか?

476 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 02:40:07.76 ]
C++でfopen_sが使えるようなるのはいつですか?

477 名前:デフォルトの名無しさん [2014/01/13(月) 02:56:51.06 ]
_s系には何も期待していない

478 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:03:42.61 ]
_s系の関数なんてつかってる人いるの?
あれって、存在の必要性をまるで感じないんだけど。
個人的には、iosteamくらいいらない子
それより、snprintfがほしい。

479 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:37:31.52 ]
>>478
std::stringstreamとかstd::istream_iteratorとか捨てたもんじゃないと思う。
でもprintfは欲しいよなぁ・・・

480 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:38:29.43 ]
sprintf_sでいいじゃん



481 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 03:50:31.58 ]
iosteamに対して使いたいんだよ!

482 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 08:37:43.53 ]
スチーム?

483 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 08:47:01.15 ]
Boost.Formatを使うかstd::putfが標準に入るのを待つか

484 名前:475 mailto:sage [2014/01/13(月) 09:56:30.21 ]
失礼しました。ドラフト見たら明確にできることが書いてました。(5.1.2p5)
ラムダにリプレースできるツールの候補があるんで、これ使ってデフォルト引数が実現できるか考えてみます。

485 名前:481 mailto:sage [2014/01/13(月) 16:06:08.12 ]
>>482
タイポしたら嫌だから478からコピペしたらこれだよ!
よく見てコピペするんだった・・・

486 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 18:38:40.24 ]
>>484
何がしたいのかよくわからないよ。
デフォルト引数がしたいのか、可変長引数がしたいのか、何?

487 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 20:32:46.40 ]
>>486

>>471にある通り
ファンクタ fn に対して
[fn](auto x, auto y = 8) { return fn(1, x, y); }; //yにデフォルト値あり
ということがしたい。
自作のbindモドキをラムダにリプレースできないか検討中。

bind(fn, 1, _1, _2 = 8);
ということをやっているので、ラムダ引数でのautoの使用とデフォルト値が必要になる。
なければ他の手段でできないか、ということです。

488 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 20:43:32.48 ]
C++14なら完全対応してるclangがあるんだからそれ使えばいいやん

489 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 22:22:11.62 ]
いままでのあらすじ

ジェネリックΛ期待。デフォルト引数もok?
 ↓
それはダメ
 ↓
他の手段で無い?
 ↓
C++14ならclang使えば? ←話が理解できないバカ

490 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 22:39:48.62 ]
ラムダ式って言語レベルの話じゃん?
それをライブラリで何とかしようとするのがおかしい
boostになければ諦めろって



491 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 23:19:26.86 ]
>>490
まあそうなんですけどね。

今使ってるライブラリのデフォルト引数機能が便利なので、
 ラムダで同じことができるようになるならリプレース
 そうじゃないなら継続利用(レベルアップ含む)
のどっちに行くべきか見きわめたくなって。
できないっぽいので後者で行くことになるかな。

492 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 00:41:24.49 ]
>>491
んーと、今現在
bind(fn, 1, _1, _2 = 8);
というのを実現してるってこと?

493 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 07:01:52.07 ]
>>492
そうですよ。
関数名とプレースホルダはちょっと変えてるけど。

494 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 12:46:18.88 ]
関数ポインタとかラムダにオーバーロードがあればいいのに

495 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 12:53:56.29 ]
一体何をオーバーロードする気だ

496 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 14:19:40.75 ]
まああれだ、C++14でラムダ式にジェネリックが入るというのは必要だからだろう
多分もっとSTLが最適化出来る

497 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 14:27:51.74 ]
とりあえずboostのoverloaded_functionつかっとけい

498 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 17:28:49.81 ]
STL?
15年ぐらい前にそんなのあったな
まだ使ってるなんて化石も甚だしい

499 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 17:30:57.86 ]
使える化石だからな

500 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 20:11:25.90 ]
C#に超便利なLINQがあるだろうが
C++11ももっとSTLとかラムダ式を柔軟にしないと性能はともかくユーザー層で負ける



501 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:14:35.66 ]
いいからお前は黙ってC#使ってろよ
>ユーザー層で負ける
アイドルの人気投票じゃないんだからw

502 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:19:48.95 ]
STL?
15年ぐらい前にそんなのあったな
そんなメンテもされていない化石をまだ使ってるなんて

503 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 21:39:02.69 ]
ふーん
algorithm系って何にリプレースすればいいの?

504 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 22:14:00.90 ]
>>497
感動した!
実装は簡単ぽいな。

505 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 22:56:59.82 ]
>>497
ちょっと苛めてみた

boost::overloaded_function<int(int),
                 int(int*),
                 int(int**),
                 int(int***),
                 int(int****),
                 int(int*****),
                 int(int******),
                 int(int*******),
                 int(int********),
                 int(int*********),
                 int(int**********),
                 nt(int***********),
                 int(int************),
                 int(int*************),
                 int(int**************)
                 >mem(int a) const;

error 'boost::overloaded_function' : テンプレート 引数の数が多すぎます

506 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:33:00.31 ]
>>502
おいalgorithm系は何にリプレースすればいいんだよ?

507 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:47:39.55 ]
STLじゃなくてC++標準ライブラリを使えってことだろ。
何を言っているんだオマエは。

508 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:52:16.47 ]
<algorithm>はSLTだろうが。
何を言ってるんだオマエは。
それともコンテナとイテレータだけだとでも言うつもりか?

509 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:53:28.46 ]
×SLT
○STL

510 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:54:28.36 ]
定義を明確にせず否定も肯定もできないと思います。



511 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 23:56:39.10 ]
>>508
STL?
そんなものがISO/IEC 14882:2011のどこに書いてあるのですか?
SGIかステパンと勘違いしてるのでは?

512 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:01:37.78 ]
・STLは標準化前の遺物派
・コンテナ、イテレーター、アルゴ、ファンクタのみSTL派(string含まず)
・stringもSTL派(iostream含まず)
・テンプレートは全てSTL派
・C++の標準ライブラリは全てSTL派
・なんとなくライブラリは全てSTL派

厳密に正しいのは最初で他は誤り

513 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:02:19.36 ]
>>511
だったら「STLなどというものは初めからありません」と言わなきゃつじつまが合わんだろ。
STLという言葉を使った以上、その定義や守備範囲を自分の中に持っているはずだ。
「15年くらい前にあったな」というからには、その当時は存在していたわけだ。
<algorithm>がSTLでなくC++標準ライブラリだというなら、どこかの時点で定義なり認識が変わったわけだろ。
その根拠を出せ。

514 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:11:43.65 ]
根拠なんてあるわけないだろ。
差別化のネタにしたいだけなんだから。

515 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:12:06.32 ]
>>513
>「15年くらい前にあったな」というからには、その当時は存在していたわけだ。
それがSGIとかステパノフなんだろ。

516 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:15:38.61 ]
>>515
>>498,502

517 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:22:36.04 ]
>>512のコピペとか見ろよ
・STLは標準化前の遺物派
が正しいとしても、そのSTLの範囲がなんだったかについては何も語ってないだろ。
だから2番目以降の選択肢の正誤なんてわかりっこない。
どうでもいい争いなんだからヤメトケ。

518 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:29:19.04 ]
>STLは標準化前の遺物派
このコピペは修正が必要だな。
「STLは標準化前の遺物派(ステパノフのアレ、もしくはSGIのアレ)」

519 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:42:35.61 ]
・STLは標準化前の遺物派
 (ステパノフのアレ、もしくはSGIのアレ)
・コンテナ、イテレーター、アルゴ、ファンクタ
 のみSTL派(string含まず)
・stringもSTL派(iostream含まず)
・テンプレートは全てSTL派
・C++の標準ライブラリは全てSTL派
・なんとなくライブラリは全てSTL派

STLという用語の根拠があるのは最初のみで
他はコンセンサスの得られない脳内定義

520 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:46:05.60 ]
まーた始まった



521 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:48:39.38 ]
>>519
なるほど用語に根拠があるのですね。
で、その内容が「STLは標準化前の遺物派」ということだと。

522 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 00:58:28.03 ]
STLが髪の伸びたOTLに見えてなりません

523 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:40:28.01 ]
502「(標準化される前の)STLなんて化石をまだ使ってるなんて」
503,506「(俗称としての)STLを置換するライブラリってなんだよ」
507「(標準化される前の)STLじゃなくて(標準化された)C++標準ライブラリを使えってことだろ」
508「(俗称としての)(コンテナ以外も含む)STLは現役のライブラリだろ」

おまえらわざとやってるだろ。

524 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:43:23.08 ]
なんか「プログラミング言語C」または「C」は名称として正しいが
「C言語」は只の俗称・通称の類に過ぎないってネタとそっくりだ

525 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:48:12.39 ]
それを言うなら
「OSって何ですか?IBMが何故関係?」
昔STLは確かに存在したのだから

526 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 01:51:37.22 ]
voidみたいな芸風はやめろよ。

527 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 02:21:52.84 ]
A:写メ送って!
B:今時写メとは化石ですか?
A:じゃあ写メに変わる物は?
B:普通にスマホで写真撮って送れ
B:写メは2001年にJフォンが〜
A:だったら写メなどというものはありませんと言え
 当時は存在していたわけだ
B:だからそれがJフォンの

528 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 03:13:33.92 ]
> 昔STLは確かに存在したのだから
> 当時は存在していたわけだ

化石って認めてる発言だよねコレ。

529 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 03:17:55.19 ]
化石いうても標準コンテナの基本的な部分だよな

530 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 07:56:19.19 ]
話が理解できていない>>529が哀れ
「化石のSTLは標準ライブラリのコンテナの基礎となった」
が正しい。
標準ライブラリには「ここはSTL」という説明はなく
また化石STLと標準ライブラリの類似部分とは完全に一致でもない



531 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 08:06:53.37 ]
3文字の略称をつけないコミッティーの責任
それが名付けられるまでSTLを使って構わない

532 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 11:32:52.17 ]
>>530
横からサンクス、やっと話題を理解できた

533 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:17:18.60 ]
Cのcnd_timedwaitにPOSIXの略称を付けないのは委員会の責任
名付けられるまでは<pthread.h>のcond_timedwaitも
<thread.h>のcnd_timedwaitのどちらも
POSIXと呼んで構わない

キチガイの発想ではこうなるんだろうな

534 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:29:03.79 ]
そんなに標準ライブラリのなかのやつをSTLとは呼ばないって主張が重要ならこんな所で吠えてないでWikipediaの記事修正してきたら?
言語数多いけど頑張ってね。

535 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:33:23.00 ]
予想される展開1
「標準ライブラリーにはSTLという言葉がない」
「じゃあWikipedia直せよ」
「オマエが直せ」

予想される展開2
「標準ライブラリーにはSTLという言葉がない」
「じゃあWikipedia直せよ」
「オマエが規格を直すのが筋」

536 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 12:41:35.63 ]
すでにあった展開
「標準ライブラリーにはSTLという言葉がない」
「(531)なので規格のもSTL」←??

537 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 19:46:11.59 ]
今は、テンプレートを使って作られた標準ライブラリー、でSLTになっているから注意な

538 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 20:20:44.66 ]
はいはい、中国人の真似した糞レスはいらない

539 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 20:22:52.48 ]
ああん、お前、どこ中の張魯よ?!

540 名前:デフォルトの名無しさん mailto:sage [2014/01/16(木) 20:25:41.20 ]
ワタシ、離珠と申します



541 名前:デフォルトの名無しさん mailto:sage [2014/01/21(火) 10:26:14.02 ]
14っていつ出るの?
委員会ドラフトが出てから久しいのだけれど

542 名前:デフォルトの名無しさん mailto:sage [2014/01/22(水) 20:37:10.34 ]
WG21は無能なので あと5年は出ません

543 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 06:36:28.84 ]
一番待たれてる機能ってなに?ジェネリックラムダ?

544 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 07:11:36.74 ]
戻り値の型推論が無いとλが使いにくい

545 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 07:46:34.11 ]
コンセプト

546 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 10:54:47.70 ]
Concept連日鬼のように議論されてるけどなかなか仕様が固まらないな
ジェネリックラムダは簡単に入りそうだけど
というかClangでは使える

547 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 11:53:08.19 ]
コンセプトは要らないな。
メンバー関数ごとに要件が違うんだから
メンバー関数内にstatic_assert(is_xxw::value)
をたくさん書いてくれりゃいいわ。

548 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 14:48:34.09 ]
テンプレートの話じゃないのか

549 名前:デフォルトの名無しさん mailto:sage [2014/01/28(火) 20:36:23.16 ]
テンプレートのインタフェースみたなものという理解でいいのかな

550 名前:デフォルトの名無しさん [2014/01/29(水) 00:01:14.41 ]
C++でプロパティを実現するココロミ
codezine.jp/article/detail/7571?p=3



551 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:09:09.69 ]
ジェネリックラムダと、constexprの制約緩和でいいよもう

552 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:11:25.64 ]
来る将来、片っ端からconstexprを付けることに

553 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:19:27.99 ]
コンパイル時レイトレーシングができるんだ。
出荷時に処理が終わっている製品とか、夢が広がリングww

554 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:35:24.21 ]
それよくわかってない門外漢の質問で済みませんが、単にコンパイル時にレイトレ計算完了してるって理解でいいの?
コンパイル後にシーンやモデルの入力替えることが出来ないのであれば、プロダクトとしての価値がよくわかりません
解像度上げたら十分時間かかってるようだし

555 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:45:19.98 ]
>>554
さすがにレイトレ完了までやってしまうのはネタだけど、
部分的にでも出来れば全体として高速化が出来る部分が増えるってことだ。

556 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:49:50.51 ]
わかりやすいのは、sqrtやsin/cosなどの演算目的の関数だろうか
あるいは、ビットマスクのようなものとか

557 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 00:58:42.44 ]
>>554
その理解でいい
特に価値は無い

PostScriptでレイトレと似たようなもんだな
「プリンタがレイトレしてやがるwwwおせぇwww」
「コンパイラがレイトレしてやがるwwwwおせぇwww」
「Webブラウザが仮想PCホストしてやがるwwwwおせぇwww」

あるいはメガデモ的な面白さ

558 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 03:05:47.24 ]
mailing来てるのに全く話題に出てないのな

やっぱりswap演算子はボツか

559 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 06:24:26.17 ]
本はよ

560 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 21:51:33.29 ]
本は要らんから isoははよ規格出せ



561 名前:デフォルトの名無しさん mailto:sage [2014/01/29(水) 23:22:02.65 ]
>>557
本はよ

562 名前:デフォルトの名無しさん mailto:sage [2014/01/30(木) 00:58:06.43 ]
>>555-557
解説どもです、スッキリしました
変態的で興味が募ったのでちょいぐぐって情報の海に溺れてきます

563 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 05:45:58.14 ]
簡単なhackで引数に明示的な型しかとらない指定ってできませんかね?
int a[1];
func( bool ); func( a ); // たまに起こるミス、型チェックを通ってしまう
たとえば
func( explicit bool ); ←こんなキーワード
func( true / false / bool(a) ); // OK
func( a ); // 暗黙の変換はエラー

564 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:27:40.45 ]
>>563
こういうのはtemplateが役に立つ
ideone.com/eFtKnq

565 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:34:30.65 ]
あとはbool引数を取るexplicitコンストラクタを持つクラスをつくって
それをfuncの引数にすると二重の暗黙変換はできないからfunc(explicit_bool_type);に直接intを渡せなくなる。

566 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:36:30.97 ]
ideone.com/PqUkNh

567 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 06:41:43.77 ]
>>565は間違いだった。すまん。

568 名前:563 mailto:sage [2014/02/14(金) 08:31:22.51 ]
>>564-567
ありがとうございます
暗黙の変換が行われる前にテンプレート関数で引き受けて=delete宣言するのですね
目から鱗が落ちました

569 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 08:39:30.06 ]
>>563
T で受け取って戻り値 std::enable_if<std ::is_same<T,bool>::value>::type

SFINAE サイコー

570 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 13:52:59.31 ]
static_assert(std::is_same<T,bool>::value, "申し訳ないがbool以外はNG");



571 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 14:11:25.48 ]
本当に成金企業がやって吹いたw
とりあえずおめ。

572 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 21:15:51.96 ]
>>569
Tで受け取って、なら大丈夫だけど一般にはT&&とすることも多いから is_same は要注意だよな。

573 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 21:33:33.45 ]
>>572
そそ
なんかうまく呼ばれねーとなって remove_cv とかゴテゴテと追加

574 名前:デフォルトの名無しさん mailto:sage [2014/02/14(金) 21:38:06.90 ]
オレはこうしてるw

template<typename T>
struct remove_ref_cv {
typedef typename std::remove_reference<typename std::remove_cv<T>::type>::type type;
};

575 名前:393 mailto:sage [2014/02/15(土) 04:06:39.49 ]
俺の予想が当たった!

576 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 05:06:04.15 ]
なんか言語機能が弱すぎて書き方が多様化するperlっぽくなってるな
オナニー化はダメな流れだわ

577 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 07:14:28.55 ]
C/C++より強力と言える言語はアセンブラしかないが

578 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 13:07:36.64 ]
>>577
言語「機能」っていってるじゃん

579 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 13:40:57.63 ]
オブジェクト指向アセンブラマダー?

580 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 16:56:16.42 ]
むかしむかし、SAPPというアセンブラが川に洗濯に行って流されてしもうた



581 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 18:42:32.62 ]
なんで、アセンブラと同程度の実行速度を保ちつつモダンな書き方のできる言語が登場しないのかね?

582 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 19:40:01.06 ]
Dじゃダメなの

583 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 19:43:32.33 ]
Dはどうも万年ベータ版な印象

584 名前:デフォルトの名無しさん [2014/02/16(日) 20:36:52.85 ]
>>581
童貞度というか HDL はry

585 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 21:09:46.62 ]
C/C++が一番それっぽいといえばそれっぽいが、そもそもモダンな書き方ってなによ。

586 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 21:13:25.43 ]
C#みたいなやつ
プロパティとかテンプレートとか

587 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 21:51:56.13 ]
>>581
お前が作って公開すればいいんじゃね?

588 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 23:30:49.27 ]
c++11でも充分よくやってるとは思うけどな
でもランタイムで逃げてる言語ほどラクにはならんよなあ

ふと今c++にオプション的なランタイムと糖衣構文追加のような形で、LLっぽい共存とかできないのかなと着想したんだけど、Obj-Cがまさしくそれだと気付いて絶望した
javaより古いルーツの言語にいちゃもんつけるのもあれだが、あの言語もうちょっと記法レベルでなんとかならんもんなのかな

Obj-Cは動的言語面の実装自体はいい線行ってるから、c++のパフォーマンスを有効活用できるプリプロセッサなんか面白いかもな
Obj-C++ with Lightweight
ここまで没

589 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 23:35:13.76 ]
^が生理的に受け付けないんだが

590 名前:デフォルトの名無しさん mailto:sage [2014/02/16(日) 23:36:54.80 ]
^^



591 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 00:58:30.07 ]
c++ は何が悪いんだろうなあ
一から再構築したらうまく行くもんかねぇ?

592 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 01:12:08.24 ]
何も悪いところなんて見当たらないが?

593 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 01:13:19.95 ]
C++はよくやってる部類のはずだが、
低水準から高水準までカバーしつつマルチパラダイムをサポートするという時点で
そもそも言語に与えられた問題領域が複雑すぎる部分はあると思う

594 名前:デフォルトの名無しさん [2014/02/17(月) 08:03:03.39 ]
C++11とか使える奴はいいよな。過去のコードや古い環境があるから使いたくても使えん。boostはインストールが面倒だし。時間がない。結局家でコードを書くときしか使えんから、学習曲線が緩やか。

595 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 08:03:45.48 ]
関数ポインタの表記が分かりにくい

596 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 08:49:21.69 ]
今はusingがあるじゃない

597 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 09:03:56.85 ]
typedef さんの出番を取りやがって...

598 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 14:16:06.87 ]
> 何も悪いところなんて見当たらないが?
テンプレートとかどう?

599 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 14:19:29.25 ]
コンパイルがクソ遅かったり
クラス増やすたびにいちいちヘッダファイルを書くとか言う間抜けなことを強いられたり
テンプレートでミスるとわけのわからないコンパイラエラーにおそわれたり
っていうのは改善されたの?

600 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 14:29:00.81 ]
>クラス増やすたびにいちいちヘッダファイルを書くとか言う間抜けなことを強いられたり
他の言語でもかわらなくね
>テンプレートでミスるとわけのわからないコンパイラエラーにおそわれたり
コンセプトさんが何とかしてくれる
コンパイル遅いのは我慢しろ



601 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 17:20:08.30 ]
>>599
> クラス増やすたびにいちいちヘッダファイルを書くとか言う間抜けなことを強いられたり
それはそういうルールでコード書くことを選択したプログラマの責任だろ。
他から参照しないならヘッダファイルなんぞいらんし、なんならヘッダに全部書いてろよ。

602 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 17:50:41.13 ]
>>601=キチガイアスペ

603 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 18:28:57.40 ]
>>600
> コンセプトさんが何とかしてくれる
それ10年以上言い続けてるんだけど・・・

604 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 18:31:17.01 ]
次はその表現がまるまる自分に跳ね返ってくるって予想できない?
何かを間抜けって貶すなら自分が貶される覚悟もしておこうよ・・・・

605 名前:デフォルトの名無しさん [2014/02/17(月) 21:28:09.39 ]
>>601
そういえば、いつも.hと.cppのファイルごとコピーしてプログラム書くから
後になってcppの中身カラじゃねーか(最初からいらなかった)と気がついたりすることあるな。
ほかにもクラスをテンプレートに変えて、面倒だから全部ヘッダーに書いてcppいらなくなったとか
でもプロジェクトに追加してるからほったらかしで意味ないcppが何個も

606 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:34:39.70 ]
>>598
凄く便利だけど?

607 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:40:16.67 ]
schemeあたりでコード生成する方がはやいのではないか

608 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:45:02.43 ]
c++って、どのぐらいまで仕様を把握したら足を撃たないのか一向に分からない

609 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:46:39.42 ]
>>607
makeheaders とかでいいんじゃないの。

610 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:49:09.20 ]
>>609
学生の頃、いつもc++のヘッダーファイルを手で書いてたよ



611 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 21:59:25.26 ]
ヘッダとかドキュメント生成系のソフト有るけど、
マクロ使ってちょっとソースで変わったことすると、すぐ汚い結果吐くんだよね。

言語レベルでヘッダ/ドキュメント生成のためのルールを規定すれば、
Clangとかが綺麗なのを吐いてくれるようになると思うんだが。

612 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 22:35:09.02 ]
>>611
その着想で腰を上げたとして、委員会が完璧な仕様を決めるまで十何年かかるかが問題だなw
生成系ツールや俺俺ルールでお茶濁すくらいが現実解だと思う

613 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 22:43:49.78 ]
>>608
足を撃つ、ってどんなレベルのことを言ってるのかで答えは変わる。

614 名前:デフォルトの名無しさん mailto:sage [2014/02/17(月) 22:44:59.29 ]
意外とやってみれば、コンセプトさんより先に決まるかも。

constexpr より強い、comptexpr (compile time expr) が欲しい。

615 名前:デフォルトの名無しさん mailto:sage [2014/02/19(水) 22:14:17.07 ]
>>608
仕様に由来しないところで幾らでも足を吹っ飛ばせるから考えるだけ無駄
・・・とか言い出すと言語に寄らずバグらせ放題ってことになるけどな

616 名前:デフォルトの名無しさん [2014/02/20(木) 11:45:50.04 ]
>>608
C++はミドルウェアより下のレイヤーで使う言語だから、
分かる人だけ使えばいいんじゃないかな。
エリートさんたちがプログラミングする世界だから。

617 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 11:52:47.95 ]
>>616
そのポジションはCじゃね?

618 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 12:03:10.74 ]
>>608
ja.m.wikibooks.org/wiki/More_C%2B%2B_Idioms
言語仕様は↑これを完璧に理解出来る程度に分かっていれば良い

619 名前:デフォルトの名無しさん [2014/02/20(木) 12:04:24.13 ]
>>617
Cが主戦力であることは否定しないけど、
iOSはデバドラにサブセットC++
WebKITもC++
gccもC++
と増えてきてる。

620 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 12:19:46.28 ]
新しいボード等が出ても、コンパイラがcしか対応してないって、ばっちゃが言ってた



621 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 14:30:13.50 ]
そのコンパイラを作って動作保障するのは誰だと思っているんだっ

622 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 14:38:29.56 ]
×保障
○保証

623 名前:デフォルトの名無しさん mailto:sage [2014/02/20(木) 17:58:43.05 ]
現れては消える高級言語を使うよりC++のが楽じゃない?

624 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 19:02:16.04 ]
C++1yってC++14の次だと思ってたけど、もしかして14のこと?

625 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 19:43:55.90 ]
C++17を目指してる次のやつのことであってる

626 名前:デフォルトの名無しさん [2014/03/06(木) 01:45:01.20 ]
gcc4.8.1で下のコードでエスケープできないってエラー吐く
#include <regex>
std::regex re("\\[(an|pan|man)\\]");
VC++では動いてたんだが
[ってどうやってエスケープするんだ?

627 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 02:13:16.87 ]
>>626
つ Google

628 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 03:15:02.53 ]
regexの仕様知らずにいうけど、それでエスケープされないならコードを打ち込む段階で
U+005C(REVERSE SOLIDUS)じゃなくてU+00A5(YEN SIGN)に変換してしまったってことはないか?
まぁ最悪\xhhとかで代用すればいい

629 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 04:43:28.41 ]
>>626
エラーメッセージは本当にエスケープできないって出るの?
gcc4.8.1は<regex>の実装がまだ不十分な段階にあるんだが。
gcc.gnu.org/bugzilla/show_bug.cgi?id=53631

630 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 18:35:52.72 ]
>>626
VCで動くなら使っているGCCのバグか>>629だろ
GCCなんて使わないでClang使ったほうが良いんじゃないか



631 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 19:16:53.76 ]
そりゃあヒーローはエスケープなんてしないもんよ

632 名前:デフォルトの名無しさん mailto:sage [2014/03/06(木) 19:30:39.21 ]
そんなときはRAWリテラルでも

633 名前:626 [2014/03/07(金) 00:10:48.35 ]
>>627
stackoverflow.com/questions/15059162/c11-regex-matching
見つけたわダメみたいだね

>>628
std::regex re("\\[");
std::regex re("\[");
std::regex re("\0x5c[");
std::regex re("\\0x5b");
全部ダメだった

>>629
/usr/include/c++/bits/regex_compiler.h:467:50
__throw_regex_error(regex_constants::error_escape);
ここで死んでしまう

>>629
実装されていないんだな

>>630
テストコードでは動いたー!
インラインアセンブラとかgcc依存プリプロセッサ
使いまくってるメインプロジェクトですんなり使えるだろうか

>>632
std::regex re( R"(\[)");
std::regex re( "\\Q[\\E");
これもだめだった

とりあえずclangに移行進めます、C++11はスレチだったみたいでスマソ

634 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 00:18:47.68 ]
>>633
あ、うんうん

635 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 00:59:17.51 ]
>>633
stackoverflowのレスみると
C++ standard library(GCC用?)がなんか駄目なんだな。
Clangでこれ使っているならClangでも駄目。で、Boost regex使えか

636 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 08:40:30.61 ]
std::threadってどれくらい使える?

637 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 09:38:35.43 ]
普通に使える

638 名前:デフォルトの名無しさん mailto:sage [2014/03/07(金) 19:48:53.99 ]
C++11 <regex> support [2013-10-03]
Regular expression support in libstdc++-v3 is now available.
だから、GCCは超最近のものでないと動かんのだな

639 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 01:36:43.59 ]
regexくらいPOSIXの方でいいじゃんと思ってしまう。
というか、エラーになるということはもしかして、std系って、POSIX関数のラッパーじゃなくてものによっては独自実装しているってことなのか。
知らんかった。

640 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 02:06:43.17 ]
>639
std::regex は ECMAScript の正規表現対応だからまず間違いなく独自実装だが。



641 名前:デフォルトの名無しさん mailto:sage [2014/03/09(日) 02:33:58.47 ]
何も指定しないとECMAになるだけだろ。
バギーな動作するよりは既定でgrepになってた方がまだマシ。

642 名前:デフォルトの名無しさん [2014/03/10(月) 17:05:49.31 ]
egrepですらないとか正気か?
それともGNU grepとかBSD grepのことか?

643 名前:デフォルトの名無しさん mailto:sage [2014/03/10(月) 21:38:10.28 ]
基本正規表現も拡張正規表現も書式が違うだけでできることにたいした違いはないでしょ

わざわざ実装するとかどうしてそんなことになったんだろ。
キャプチャの問題?

644 名前:デフォルトの名無しさん [2014/03/10(月) 21:57:51.80 ]
どのライブラリ実装も実装は別にやるに決まってるだろw

645 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 05:23:11.47 ]
定数をconstexprにするメリットってあんの?

646 名前:デフォルトの名無しさん mailto:sage [2014/03/11(火) 23:39:44.52 ID:fXwBZvGt]
>>645
コンパイル時に決定できないとき教えてくれるからバグを防げる

647 名前:デフォルトの名無しさん mailto:sage [2014/03/12(水) 05:31:43.20 ID:zulvYP1L]
>>646
なるほど

648 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:03:46.54 ID:81wfXhZd]
普通の定数でも決定できないとエラーになるんじゃね

649 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:14:49.29 ID:+lIKaSU4]
>>648
ならないよ。そのスコープに入るときに計算されるだけ。

650 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:32:07.93 ID:nfV6YhIZ]
>>648
constだと const int x = rand(); みたいなことが普通に出来る。constexprでは不可。



651 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:41:03.39 ID:nfV6YhIZ]
>>650を書いてから思ったけど、C++14ならコンパイル時乱数ってのもそれほど難しくないよなw

652 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 19:47:59.08 ID:81wfXhZd]
>>650
ああ、そうだ
const を使った時にエラーになるだけだった
(コンパイル時定数でないといけない所に使うと)

653 名前:デフォルトの名無しさん mailto:sage [2014/03/13(木) 21:31:28.19 ID:gZyvGjeH]
>>651
コンパイルのたびに変わられてもなあw
デバッグ担当者に恨みがあるときに有用か

654 名前:デフォルトの名無しさん mailto:sage [2014/03/14(金) 00:55:48.19 ID:8ZkUtZ7A]
これは素晴らしいコード
よく覚えておこう

655 名前:デフォルトの名無しさん mailto:sage [2014/03/18(火) 21:52:05.87 ID:UBk2tVSE]
江添より始めよ

ドワンゴの会長が江添に、C++プログラマを招く方法を相談したところ、
「まず自分のような優秀でない者を優遇してください。
そうすれば、もっと優れたC++プログラマが次々に集まってくるだろう」と言ったという故事から。

656 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 03:12:08.03 ID:eiPnsEPV]
ホワイトボードにくだらねえコード書かせる
面接やめりゃいいんじゃないの
あれは萎える

657 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 03:16:23.59 ID:vxKEh5eU]
なにそれ
あーここ文法エラーですねーご縁なかったですねー
みたいなことでもやってんのかい

658 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 09:19:45.88 ID:zT3d0OOi]
>>655
何かと思ったら江添氏ドワンゴニ就職してたんだな。そりゃ妬ましいですなあ。

659 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 09:54:25.98 ID:bZgbKUm9]
ドワンゴに就職してからアンチ増えた気がするね。
大抵655みたいな下らない奴なんだけど

660 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 13:52:16.85 ID:jfFivXOk]
ドワンゴとかいうブラック企業に入ったらご愁傷様としか思わん



661 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 14:05:41.36 ID:CB1HUIXp]
仮にブラックだとしても、裁量労働制でノルマもないんだから羨ましいことはあっても不憫には思えないな。

662 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 21:11:44.61 ID:aDPhdWIk]
C++14っていつ頃の予定になってんの

663 名前:デフォルトの名無しさん mailto:sage [2014/03/19(水) 21:16:13.44 ID:5IXC0HIP]
14年ごろ

664 名前:デフォルトの名無しさん [2014/03/20(木) 00:18:22.53 ID:1Y22wDAD]
実際のところ皆はもう案件でC++11使ってる?
うちはまだダメだ。boostもダメ。

665 名前:デフォルトの名無しさん mailto:sage [2014/03/20(木) 22:13:56.93 ID:/M0F5d5s]
>>664
実案件はまだでしょ、自分で使うツールとかで実験的に使い始めたところ
範囲ベースの for とかめちゃ便利だわ

666 名前:デフォルトの名無しさん [2014/03/20(木) 22:58:12.94 ID:N5eLnApK]
納入とかない仕事なんでC++1yでさえ使ってる。

667 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 01:32:54.13 ID:OkOuwegv]
小規模iOSアプリで使い始めてるけど特になんの問題もない
先んじて、月単位の独自研究の成果を各自持ち寄った結果でもあるので仕事場の空気レベルで特殊な例だと思うが

668 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 01:37:21.03 ID:7xig81Eo]
>>664
2011年開始の案件以降、環境がVC2010になったからVCの機能の範囲で使いまくってる。
もうautoなしなんて考えられん。

669 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 02:57:02.70 ID:FGAg6ToC]
vs2012だからゴリゴリ使ってる
boostも使える
range based forとauto無しでは生きられん

670 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 07:26:47.86 ID:21MtAdc/]
>>669
> range based forとauto無しでは生きられん

range based for って、cbegin( ) 呼んでくれないんだけど、そう言うケースはどうしてる?
うちでは、その部分は従来の書き方してる。
すごくいい機能だけど、それだけにちょっとガッカリ感がハンパない。



671 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 07:27:35.49 ID:sDay5++M]
const auto& にすれば?

672 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 08:38:07.12 ID:FGAg6ToC]
>>670
for_each使うかconst auto&だなー

673 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 08:54:32.73 ID:VBQzVRnq]
template<typename T>
const T& const_wrap(const T& v) { return v; }

for(auto &i : const_wrap(v))

要するにconstへキャストしとけばいいんだろ?

674 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 10:11:54.32 ID:876LI0nh]
>>671
cbegin( ) 使ってくれる?
VS 2013 だとダメだったんだが

>>672
for_each ならいけるの?
いま出先だから、あとでちょっと試してみる

>>673
今んところこれが定番みたいなんだけど、無理矢理感ハンパない
for_each(const auto& i : const v) みたいな構文で使えればいいんだけどね

675 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 11:30:52.58 ID:7xig81Eo]
>>674
cbegin()を使ってくれなくてもiがconstになっていれば文句ないけどね。

676 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 12:14:37.18 ID:21MtAdc/]
>>675
v がメンバーだと const なメンバー関数で begin( ) 使うと怒られるんよ
て言うか、そのための cbegin( ) なんだが...

677 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 12:54:02.21 ID:VQJvHtSf]
>>676
あなたの使ってるコンパイラのライブラリのコンテナ群はconst付いてるbegin endが定義されてないの?

678 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 13:11:49.86 ID:7xig81Eo]
>>676
そういうときはconst付きのオーバーロードが自動的に選ばれるんじゃないの・・・
って、>>677に先に言われたか。

679 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:20:44.86 ID:IxwabTo/]
>>677-678
ん、ここc++14/c++1yスレですよね?

680 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:32:21.97 ID:7xig81Eo]
>>679
const付きのbegin(),end()はC++11でも削除されてないし、C++14で削除される予定もないよ。



681 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:38:34.04 ID:pRTSEoEQ]
新機能じゃないじゃん

682 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 16:51:30.57 ID:B1xV2tLh]
range based for に問題があるって話に対して、いやそれは問題じゃないよって話をしてるんだろ

683 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 17:01:19.62 ID:VQJvHtSf]
まぁrange based for自体が新機能じゃないな。

684 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 17:43:07.83 ID:aQAHkMot]
foreach みたいなものだろ

685 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 18:01:34.42 ID:xvdwrk0X]
>>677-678
え゛っ、const 付きの begin( ) にしとけば使ってくれるんか?
マジで知らんかったわ。
VS 2013 で使えるか、やってみよ。

686 名前:デフォルトの名無しさん [2014/03/21(金) 18:38:14.12 ID:lD60fRJj]
使ってくれるんか?

方言かい。関西弁としてもけったいな言い方だな。

687 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 18:39:36.89 ID:nNEE3Utq]
つこてくれるんケ?

688 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 19:01:21.39 ID:bqevYXZK]
これが方言に見える地方って・・・・

頭悪そうな文体ではあるけど

689 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 20:41:01.65 ID:PuCTRIi5]
>>688
だって土民は自分が使っている言葉が標準語
そして、それ以外すべてど方言なんですよ

690 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 20:52:49.08 ID:21MtAdc/]
>>686
> 方言かい。関西弁としてもけったいな言い方だな。

気色悪い関西弁やめてんか



691 名前:デフォルトの名無しさん [2014/03/21(金) 20:56:25.66 ID:lD60fRJj]
begin( ) にしとけば使ってくれるんか?

あのな、主語が何なのか聞いてるんだけど。それとも「使えるんか?」
を「使ってくれるんか?」と言うのかい。

まあ、言葉の使い方おかしいんじゃないかと言ってるのに

おい、>>689。お前は自分では何にも言えないくせに、後ろ
からキャンキャン吠えている女みてえな糞野郎だ。

692 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:14:19.42 ID:PuCTRIi5]
>>690
それがそいつの標準語だよ。基地土民のね

693 名前:デフォルトの名無しさん [2014/03/21(金) 21:15:25.97 ID:lD60fRJj]
はいはい、弱い犬ちゃんw

694 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:18:56.71 ID:PuCTRIi5]
土民は
>方言かい。関西弁としてもけったいな言い方だな。
で、主語が何なのか聞いていたのか? 土民じゃないと土民標準語理解できないからな

695 名前:デフォルトの名無しさん [2014/03/21(金) 21:19:33.78 ID:lD60fRJj]
もう、馬鹿はほっとこ。じゃあね

696 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:40:53.28 ID:o/AML2E/]
>>685
この流れの所為で
> const 付きの begin( ) にしとけば
がツッコまれていない件について

begin()にconstつけないだろ

697 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:51:39.48 ID:sDay5++M]
ttp://msdn.microsoft.com/ja-jp/library/1sc2e041.aspx
ついてるけど何が言いたいんだ

698 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 21:59:08.90 ID:o/AML2E/]
>>697
いや使うときに

699 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 22:28:38.75 ID:21MtAdc/]
>>698
意味わからん
どっから使う時なんて発想が出てきたんだ?

700 名前:デフォルトの名無しさん [2014/03/21(金) 22:36:41.76 ID:yZ2dHoTg]
constありのbeginの戻り値をconst_iteratorにして、constなしのbeginの戻り値をただのiteratorにして、
beginは両方多重定義しておけばいいじゃん。使うときは
インスタンスがconst付きかどうかで自動的に選択されるじゃん。



701 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 22:48:25.31 ID:i1lS1iqd]
>>698
イミフ

702 名前:デフォルトの名無しさん mailto:sage [2014/03/21(金) 23:15:08.50 ID:PuCTRIi5]
今度はじゃんか。ニダよりは良いよね

703 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 11:59:46.75 ID:w77uEg4K]
>>680
それはそうだけど>>674をエスパーすると
c++11で追加された型推論ではautoにconst付けないと
constのbeginが呼ばれないって話でしょ
完全にautoを無視した話してたからいつの時代の話してるんだと思っただけ

704 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 12:22:44.80 ID:ZdExmIEg]
for (const auto &i : v) と書けばいいよ、といえばすむ話だったのか。

705 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 12:59:52.50 ID:ZPzngx0K]
それでは済まないしautoも関係ない話だと思ってたが
そう考えてたやつもいるんだな

706 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 16:29:25.17 ID:eq/IxRl7]
>autoにconst付けないと
>constのbeginが呼ばれない

まるで、constを付けるとauto begin()const->const_iterator
が呼ばれるかのような発言だな。

707 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 16:39:36.81 ID:HJ0+n2Jk]
constで受けてもbegin()constの方が呼ばれないのは解ってんだけどそれが問題になるのどんなとき?
上の方でそれで済まないとか書いてあるからさ。

708 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 16:41:53.88 ID:j1DZjBUB]
もしかして自作コンテナで cbegin に別な意味を持たせてる?

709 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 18:44:56.14 ID:7xC9kwdc]
自作コンテナで非constのbegin()およびそのイテレータの
デリファレンスにコストのかかる処理があるときは問題となる

710 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 19:32:15.59 ID:ZdExmIEg]
const付きbeginとcbeginの処理が異なっているなんて規格上許されるのか?



711 名前:710 mailto:sage [2014/03/22(土) 19:32:49.47 ID:ZdExmIEg]
ああすまん、自作コンテナの話か。

712 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 19:49:09.81 ID:HJ0+n2Jk]
自作コンテナの話の方はbeginのconst付きと付いてないの実装の差異だと思うけど。

ただあんまりそんな実装しないよね。
パッと思いつくのrwlockでconst付きはrlock、const無しはwlock するようなコンテナとか?
でもconst有りと無しで問題になる程パフォーマンス変わるようなコンテナは逆に使いづらいと思うのよね。

713 名前:デフォルトの名無しさん mailto:sage [2014/03/22(土) 22:37:22.96 ID:j1DZjBUB]
>>709
そういう問題の解決をcbeginに求めようとしているのだな?
不適切なやり方なのかもしれないし、そうでないかもしれない。

714 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 06:39:41.19 ID:Ci/6MbS/]
文盲が多いな
constと非constの違いの話だと思うのだけれど
どうしてcbeginとbeginの違いの話だと妄想したがるのか

715 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 10:39:09.00 ID:buFfa6rW]
>>714
そもそもは>>670から始まってるから

716 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 10:56:12.39 ID:J+Rs1swr]
混乱するから誰かまとめて

717 名前:デフォルトの名無しさん [2014/03/23(日) 11:36:21.59 ID:sV6DQ8Cb]
template <class T1, class T2>
auto operator + (T1 x, T2 y) -> decltype(x+y)
{
return x+y;
}

上のところで、
error: template instantiation depth exceeds maximum of 900・・・
recursively required by substitution of 'template<class T1, class T2> decltype ((x + y)) operator+(T1, T2) [with T1 = std::complex<double>; T2 = double]

みたいなエラーがでます(gcc4.8.1)。これって、decltype(x+y)のところで、operator+が再帰的に呼ばれているということですか?

718 名前:片山博文MZジェバンニ ◆T6xkBnTXz7B0 mailto:sage [2014/03/23(日) 11:39:47.07 ID:FjLlR1KU]
>>717
それってそもそも必要なの?

719 名前:デフォルトの名無しさん [2014/03/23(日) 11:46:12.34 ID:sV6DQ8Cb]
まあ、auto, decltypeの練習で試しにやってみたんですけど。

720 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 12:06:50.29 ID:E9zZ+v+U]
再帰だろうね



721 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:34:05.08 ID:+klle/r1]
演算子+(T1 x,T2 y)の返値の型は
演算子+(T1 x,T2 y)の返値の型と定義しているようなものなのでは

722 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 13:55:55.41 ID:wql3g0E+]
C++1yならそもそも -> から先要らないよね

723 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 15:32:38.95 ID:9EUDVluQ]
下請けに丸投げ

724 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 16:37:18.36 ID:FjLlR1KU]
下請けに投げたと思ったら、自分の会社に投げていたでござる

725 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 16:42:36.55 ID:wDKVi9AQ]
decltype以前に無限再帰じゃん
コンパイル時に見つかるだけいいんじゃね

template <class T1, class T2>
auto operator + (T1 x, T2 y) -> decltype(auto)
{
return y ? (++x)+(--y) : x;
}

726 名前:デフォルトの名無しさん [2014/03/23(日) 21:55:13.61 ID:sV6DQ8Cb]
#include <complex>
...
complex<double> z(0,1);
cout<<1+z<<endl;
をコンパイルすると「複素数と整数の演算+は定義されていない」旨のエラーがでます。ところが
template <class T>
struct double_trait {
typedef T type;
};
template <class T>
using Dtype=typename double_trait<T>::type;

template <class T>
std::complex<T> operator + (Dtype<T> c, const std::complex<T>& z)
{
return c+z;
}
をmain()関数の前に定義すると、今度はビルド実行できます。わからないのはintの場合の特殊化
をしてないのになぜビルド実行できるかです。

※complex<double>とintの単純な演算子オーバーロードを使わなかったのは
オペランドがchar, unsignedなどの場合にも対応させるためです。それと
int iとcomplex<double> zに対して単純にreturn i+z;とするとなぜか実行時
エラーが出ます(TDM gcc4.8.1)。

727 名前:デフォルトの名無しさん [2014/03/23(日) 22:06:19.15 ID:sV6DQ8Cb]
あ・・・ operator+の定義内でreturn i+z; とやるとまた再帰的にw

728 名前:デフォルトの名無しさん [2014/03/23(日) 22:56:26.24 ID:sV6DQ8Cb]
あ・・・。

template <class T>
std::complex<T> operator + (Dtype<T> c, const std::complex<T>& z)

は実体化される時に

std::complex<double> operator + (double c, const std::complex<double>& z)

となり、intやchar型の実パラメータが渡されるときに暗黙の型変換が適用されるのか?

template <class T>
std::complex<T> operator + (T c, const std::complex<T>& z)

でもokでした。traitsは関係なしと。お騒がせしました。
今日はもう寝ます。

729 名前:デフォルトの名無しさん [2014/03/23(日) 23:05:46.93 ID:sV6DQ8Cb]
あれえ?もう一回やったらokじゃない。小保方さんのSTAP細胞みたいに
なっちまった。寝る。

730 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:17:30.67 ID:k+FbO2rG]
>>729
お疲れ様。
俺も寝よう。おやすみ。



731 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:27:25.54 ID:oWIQ1yda]
C++11でもOKって、C+1yで使えるならCの質問でもOKスレってことだよね

732 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:50:33.19 ID:8OD1stAu]
そういやC11スレって無いな

733 名前:デフォルトの名無しさん mailto:sage [2014/03/23(日) 23:53:52.09 ID:Cwtmew+7]
そもそも環境あるのか?

734 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 02:55:24.26 ID:zheSyNc8]
スマホとMac

735 名前:デフォルトの名無しさん [2014/03/24(月) 22:27:29.45 ID:uHELE/QG]
VC++2013を未だインストールしてないので、次のコード動くか確かめてもらえないでしょうか?

#include "stdafx.h"

template <class T>
struct double_trait {
typedef T type;
};

template <class T>
using dtype=typename double_trait<T>::type;

template <class T>
std::complex<T> operator + (dtype<T> c, const std::complex<T>& z) //@
{
return c+z;
}

int main()
{
using namespace std;

complex<double> z(0,1);
char c=-1;
cout<<c+z<<endl;

cin.get();
return 0;
}

736 名前:デフォルトの名無しさん [2014/03/24(月) 22:46:48.96 ID:uHELE/QG]
あ・・・。stdafx.hの中に次の2行が必要です。
#include <iostream>
#include <complex>

>>735の@の引数を直接double cにすると、「多重定義であいまい(ambiguous)」のエラーが出て
しまいます。floatにするとコンパイルエラーは出ませんが、無限再帰に陥るのか実行時エラー
が出ます。dtype<T> c の場合は、T=doubleなので実質dtype<T>=doubleとなるのになのに、
コンパイラはエラーを出さません。また、正常に実行されます。どうも、コンパイラを欺く
トリックではないかと。

※ 1.0+zと書けばすむ話ですが、数学の教科書では普通にz+1とか、1+zとか書きますよね。
しかし、プログラムでうっかりz+1と書いてしまうと、分けのわからないエラーがベラベラと
出てきて初心者はとまどいます。それで、>>735 みたいな手の込んだことをするわけです。
でも、複素数と整数の混合演算を簡単にできる方法ないですかね。

737 名前:デフォルトの名無しさん [2014/03/24(月) 22:48:12.05 ID:uHELE/QG]
T=doubleなので実質dtype<T>=doubleとなるのになのに、コンパイラはエラーを出さません。

T=doubleなので実質dtype<T>=doubleとなるのに、コンパイラはエラーを出しません。

738 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 22:52:52.12 ID:JglQ1MVO]
>次のコード動くか確かめてもらえないでしょうか
おまえ御命令だ。やれよ

739 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 23:30:50.09 ID:f/NUMeag]
もはやただのテンプレートの話で11,14関係ないだろ

でもひとついっとくとすでに標準に
template<class T> complex<T> operator+(const complex<T>&, const T&);
template<class T> complex<T> operator+(const T&, const complex<T>&);
はあるから
> >>735の@の引数を直接double cにすると、「多重定義であいまい(ambiguous)」のエラーが出て
> しまいます。
はそのせいだろ

740 名前:デフォルトの名無しさん mailto:sage [2014/03/24(月) 23:47:28.16 ID:6M4RZ6kU]
オンラインコンパイラサービスは色々あるからそれを試すのが良いよ
GCC:melpon.org/wandbox/permlink/gCuQdogNabmJhVeF
Clang:melpon.org/wandbox/permlink/FkystRrbxJlhHwvf

結論としては、dtype<T>は関係無い。dtype<T>はdouble_trait<T>::typeに展開されるのでTはnon-deduced context、よってここでは推論の対象とならない。
けれども、第二引数のcomplex<T>のTはdeduced contextで推論される。結局Tはcomplexのテンプレート引数に推論されてオーバーロード候補としてマッチする。
参考:melpon.org/wandbox/permlink/CYnRbBgzf2gL4vGL
ここも参考になるかも(英語)
stackoverflow.com/questions/8775202/how-do-template-aliases-affect-template-parameter-deduction



741 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 00:57:00.26 ID:rAz4buIA]
>>739-740
俺には?だが、原因が分かるってレベル高いんだな
g++にはdemangleする関数あるのか、メモメモ(AA略)

742 名前:デフォルトの名無しさん [2014/03/25(火) 01:03:54.21 ID:dLACqsrm]
>>740

ありがとうございます。

私は、多重定義のチェックと実体化のタイミングの問題かな?と考えました。
となると、コンパイルによってはダメかもしれないと考え、VC++ではどうなるんだろ?
と思った次第です。

>dtype<T>は関係無い。

そうですか。私は「double_trait<T>::typeで包むことによってコンパイラ
の多重定義のチェックから逃れているが、最終的にはdouble型の引数を
もった関数が実体化され、実パラメータがcharやintの時に暗黙の型変換
が働いている。」と解釈していました。

この考えは間違いですかね。

743 名前:デフォルトの名無しさん [2014/03/25(火) 01:08:25.46 ID:dLACqsrm]
解釈していました。

>>740 さんを読んで解釈しました。

744 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 02:59:03.84 ID:cgyBljYJ]
で、どの辺がC++14なの?
現行規格の質問は現行規格スレでやれ

745 名前:デフォルトの名無しさん [2014/03/25(火) 09:56:38.99 ID:aIELEUmN]
ああ、C+11/C++14じゃなかったんですね。失礼しました。

746 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 18:38:12.70 ID:ktix9ZhM]
C+11ってC++11とC11のどっちだ

747 名前:デフォルトの名無しさん mailto:sage [2014/03/25(火) 22:03:54.20 ID:DjVofhuk]
C+11 = C+1一 = C++ = C++

748 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 00:25:37.22 ID:BPRBwKR1]
>>740
そのmelponてとこで手持ちのコードを走らせてみたらclang 3.4では通るもののgcc 4.8.1ではコンパイルエラー。
念のためideone(gcc 4.8.1になってる)でやってみるとコンパイル成功して実行もできる。
vc(2010, 2013)でも問題なし。
なんか変だな???

749 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 19:10:33.17 ID:ysWuWvgs]
>>748
呼称はwandboxがよいと思う
ソースによるけど新しい機能についてはコンパイラにバグがある可能性もある、またはオプションの関係とかも
詳しいところは実際のソースを見なければわからない

750 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 19:56:25.59 ID:9PLgomQW]
>>749
ソースすら出さないであーだこーだって、独り言(俺日記)カキコしてもって感じだよね



751 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 20:40:31.98 ID:BPRBwKR1]
>>750
そう言われてもね。
ソース垂れ流しても迷惑だし、ちゃんとポイントを絞って提示するのは難しい。

752 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 20:42:26.73 ID:2pJmwYuc]
無能なのね

753 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 21:25:42.63 ID:BPRBwKR1]
うん。

そのwandboxってやつのgccエラーを読んでもわからないので、抽出できない。
「 'v' は type 'int(int)' であってメンバーポインタじゃねーよ!」と言ってるらしいんだけど、
その行の近辺に 'v' なんて無いし・・・

754 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 21:45:50.64 ID:Y1umZvGr]
auto変数が分からないと飯が食えなくなる?STLでかなり危ないが

755 名前:デフォルトの名無しさん mailto:sage [2014/03/26(水) 21:48:18.57 ID:Vfy/7S1e]
釣りなら初心者スレでどうぞ

756 名前:デフォルトの名無しさん [2014/03/27(木) 16:12:52.97 ID:6aYzX2Zx]
飯がどうとかいう話は次元が違うからマ板でやれ。

757 名前:デフォルトの名無しさん [2014/04/01(火) 20:42:02.69 ID:gKhRKamL]
>>755 >>756

馬鹿のくせにエラそうに言うから誰も書き込まんだろ。
もう、お前ら来るな。陰菌じゃなかった、陰気臭い。

758 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 21:14:46.02 ID:28c8XDsv]
「俺、auto使えないんだ」と自己紹介乙

759 名前:デフォルトの名無しさん mailto:sage [2014/04/01(火) 22:04:36.61 ID:+EnZFn0e]
アウト!

760 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 00:28:39.77 ID:4mJ5OkVZ]
auto が使える子になったというのに一向に使えないおまいらワロスw



761 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 01:11:58.18 ID:xWN8C05F]
C++11以降の書籍がほしいお

762 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 06:12:23.58 ID:pjklZg5A]
>>757
> 馬鹿のくせにエラそうに言うから誰も書き込まんだろ。
馬鹿が書き込む必要はないからこれでよい。
過疎板で無理にすれ違い板違い場違いネタ雑談でスレを伸ばす必要はない。

763 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 07:26:49.12 ID:16PuwTBy]
VC++2010でauto使うとたまにコンパイラがエラー吐く

764 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 07:42:34.19 ID:SfgYmxWg]
規格が改訂される前に出荷されたコンパイラーに文句言うなよ

765 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 07:47:42.02 ID:VoSgAfoQ]
2013使えよ

766 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 10:04:03.61 ID:X8BOgtKu]
constメンバ関数内で特定のメンバ変数を(自己責任で安全に)書き換える許可を与えるのってなんでしたっけ

767 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 10:07:17.45 ID:VoSgAfoQ]
mutable

768 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 10:45:51.70 ID:X8BOgtKu]
サンクス

769 名前: ◆QZaw55cn4c mailto:sage [2014/04/02(水) 18:56:18.22 ID:9lAFE+Pq]
>>761
まだ外書レベルのようですね.kindle 経由で iPhone でしこしこ読んでいるけど結構厳しい(よる年波で近眼がつらい‥‥)

770 名前:デフォルトの名無しさん [2014/04/02(水) 20:50:01.60 ID:Oc3JiJZr]
というか、何でスレタイが

C++14/C++1yなんだよ。

C++11だって使いこなせていない奴いるのに。



771 名前:デフォルトの名無しさん [2014/04/02(水) 20:51:57.60 ID:Oc3JiJZr]
>>762

じゃあ、お前が書き込むなよ。お前、ウザいんだよ。
職場でも嫌われ者だろ

772 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 20:57:19.75 ID:PAouqAzj]
現行を使いこなせてないとか次期C++スレで言われても

773 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 21:27:44.90 ID:ueE6QFcL]
可哀想な子なの。触らないで

774 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 21:31:38.39 ID:QnsIQKqw]
C++を理解していない奴がいる
 ↓
C++の改定予定の次期規格のスレに物申す 

この発想がキチガイ

775 名前:デフォルトの名無しさん mailto:sage [2014/04/02(水) 21:38:22.33 ID:YTP5IJHu]
ID:Oc3JiJZrって必死にぐぐりながらカキコしてんだろうなw
いちいち支離滅裂だもんw

776 名前:デフォルトの名無しさん [2014/04/02(水) 22:12:14.42 ID:Oc3JiJZr]
馬鹿の妄想w

777 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 02:29:15.18 ID:xLDtsOGn]
人類史上c++を使いこなした人はいません

778 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 10:48:28.43 ID:IeRRdjD0]
じゃあ俺が最初人間だったんだ

779 名前:デフォルトの名無しさん mailto:sage [2014/04/03(木) 18:21:45.92 ID:sk+nDb/g]
はじめ人間ぎゃーとるず

780 名前:デフォルトの名無しさん [2014/04/08(火) 20:23:35.09 ID:vxIM531p]
使いこなせなくたっていいじゃないの。この言語。

俺は好きだけど



781 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 00:42:36.67 ID:jje258uF]
おまいらオートというよりマニュアルがないとなにもできないマニュアル人間だもんなw

782 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 01:21:53.49 ID:g6kjuewa]
>>781
面白い!()

783 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 15:26:13.37 ID:gPopJ2Qe]
ラーメン作る時も水を計量し茹で時間もぴったりでないと気が済まないマニュアル人間

784 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 16:41:19.25 ID:QfBMtLzF]
計量もせず料理してんのか
自分で食うだけならいいけど迷惑だから人に振る舞うなよ

785 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 16:46:11.25 ID:wSq/pgWA]
>>783
料理ってそういうもんだから

786 名前:デフォルトの名無しさん mailto:sage [2014/04/13(日) 16:54:31.75 ID:g6kjuewa]
>>783
目分量を「アート」とか言っちゃう人かな?

787 名前:デフォルトの名無しさん [2014/05/01(木) 06:16:27.89 ID:jnur+x0Z]
Programming: Principles and Practice Using C++ (2nd Edition)がもうすぐ出るな

788 名前:デフォルトの名無しさん [2014/05/02(金) 21:31:40.17 ID:IMg3w3Zx]
「C++フロントエンドとしてClangを使ってLLVM中間コード(IR)を生成したのち、
プロプライエタリなIntel製のコンパイラでその中間コードをネイティブコードにコンパイルする」

IntelがClangベースのC++コンパイラを開発 | スラッシュドット・ジャパン デベロッパー
developers.slashdot.jp/story/14/05/02/0425216/
2014年05月02日 16時03分

789 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:33:01.03 ID:J9FrsreK]
ここはツイッターじゃねぇ
意味不明なクソレスすんな

790 名前:デフォルトの名無しさん [2014/05/04(日) 15:47:12.32 ID:fKxZYvEo]
Clangのは最新のC++規格のサポートが進んでいる



791 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:48:49.88 ID:uzMRkq8y]
そうか。

792 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:51:37.36 ID:8lK5PBNC]
進んでるっていうかC++14既に対応してるな

793 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:51:53.35 ID:ZNtj5n0p]
>Clangのは最新のC++規格のサポートが進んでいる
ここはツイッターじゃねぇ
意味不明なクソレスすんな

794 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:52:44.98 ID:LHvIgNMr]
完成していない規格に対応とはこれ如何に

795 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 15:57:25.44 ID:kkY/TYaH]
Intelは相変わらずノロマだなw

796 名前:デフォルトの名無しさん [2014/05/04(日) 17:50:41.76 ID:j7xk1fk5]
>>793
おまえのどこがえらいのかさっぱりわからん

797 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 18:50:46.13 ID:BIZ4TF2L]
for(true)
{
1500行くらい・・・
}

キチガイですよね?

798 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 18:59:41.45 ID:n8bRVLF6]
>>797
だね。

799 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 00:03:57.91 ID:r55hxj+Y]
犯罪行為といっていい

800 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 03:18:19.56 ID:Gkok4GNb]
>>795
Intelは科学計算や高速金融取引が主要顧客だろうから、
無理して新規格に追従しなくてもいいんじゃね?



801 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 09:44:39.50 ID:vIqS8S8I]
プログラマ視点で考えるとコードの生産性が重視されるけど、ユーザー視点
だと実行速度になるからなあ。
C++の最新規格を積極的に取り入れたいならClangだろうけど、実行速度を
考えるとインテルコンパイラなんだよ。コンパイラだけで数倍変わるケースも
あるからなあ。まあ、科学技術計算のところは往々にしてC++11すら必要な
いからなあ。

802 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:01:09.16 ID:ulMr1Kur]
あなたの言うところの科学技術計算とは?

大風呂敷広げずに答えよ

803 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:42:04.45 ID:vIqS8S8I]
未だにFortranが使われているような領域だよ。スパコンなんかgcc4.2とかが未だに
現役なんだよ。スパコン向けのコードを書くときに、規格の問題でコンパイルに苦労
することがある。また、科学技術計算では線形問題を扱うことが多いので、Lapackや
MKLが使われるし、自前でコアな部分を書くときはインラインアセンブラだから、
今のところC++11が必要とされないんだよ。最も科学技術計算を行う研究者がC++11
とかに興味がないんだろうけどね。本質じゃないから。個人的には使ってもらいたい
と思うんだけどね。

804 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:47:12.04 ID:dXEEoavT]
現実はいろいろってことやね

805 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 13:59:29.98 ID:1BHBnJWI]
過去の資源にてこ入れできればいちばんよいのだけれどな
コンパイラのソースなんてGPLでもなければまず公開されていないと思われ

806 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 20:18:59.16 ID:uepcHE1E]
Fortran77は氏ね

807 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 21:02:53.84 ID:G7yR9GEh]
>>803
研究者ならC++11覚えるより、研究にはげめだろ
本職、プログラマじゃないしな

808 名前:デフォルトの名無しさん mailto:sage [2014/05/05(月) 22:47:09.24 ID:YSa885x0]
今でもFortranのコードは高速に実行される訳だから無理に変える必要も無いわな

809 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:21:50.16 ID:NL7z67wf]
自動ベクトル化への対応とかを考えると
下手にプラグマとかが足されていないC/C++で書くよりも
Fortranコードは高速かもしれない

810 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 00:46:52.06 ID:M8aO/3ni]
門外漢だけど1954年生まれの言語が未だに速度でアドバンテージ持ってるってすごいな
と思ってググって覗いて見ると、言語としてはとくに面白さがないようで。。
科学技術計算向けDSLみたいな立ち位置なのかしら



811 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 01:59:22.48 ID:2BPuRbma]
fortranのコードってCからも呼べるが、
標準では配列のインデクスの先頭が1なのが面倒。

fortranが速いのって、各関数で配列のサイズが明示されるからだと思うけど、違うのかな?
エイリアスの問題はfortranでも生じると思うので、ここは関係ないと思うけど。

812 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 02:07:43.53 ID:BDsjto8t]
>fortranのコードってCからも呼べる
そんな、処理系依存の機能を
さも普遍的であるかのように語られても

813 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 03:02:53.82 ID:R4LFdeTL]
>>810
lisp族もがむばっているようだ、ロートルはあなどれない

814 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 04:28:48.58 ID:NYusw8jW]
現代でも特定分野でアドバンテージをもって使用されているコボルってすごいな
年配のエキスパート職の人に愛されているエキスパート向け言語

815 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 07:09:49.45 ID:ug+nXQnt]
>>811
> fortranのコードってCからも呼べるが、標準では配列のインデクスの先頭が1なのが面倒。

Fortran って多次元配列のインデックスの付け方が他の言語と違うんじゃなかったっけ?

> fortranが速いのって、各関数で配列のサイズが明示されるからだと思うけど、違うのかな?

それは違うでしょ、C でも多次元なら明示しないとダメだし、一次元ならサイズは範囲外アクセスのチェックにしか使わないから。
Fortran のアドバンテージは主にベクトル化の作り込みとか、ライブラリとか、最適化のためのツールとかが充実してることだと思う。

>>812
いまどき、できない処理系なんてあるのか?

816 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 08:03:25.46 ID:zGtSvv5a]
Cだとrestrictや処理系依存の属性を付けて回らないといけないような最適化がFortranだとデフォでできるってのもある

817 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 10:54:15.76 ID:Yg7JhZN+]
理研の研究者曰く、Fortranを使う理由としては自動ベクトル化の
恩恵にあやかれるのが一番大きいと言っていた。昔のスパコンは
ベクトル機が主流だったからなあ。

818 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 11:01:33.57 ID:FBNZj3A1]
>>803
スパコン向けだとコンパイラがそのスパコン作った所の自作ってこともあるからな
C++11がそもそも使えなかったり

819 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 11:25:09.41 ID:ftcgEc1V]
>>816
表現能力が高くない言語だから、最適化がしやすいんだよな

820 名前:デフォルトの名無しさん mailto:sage [2014/05/06(火) 13:17:10.31 ID:+EFNtusy]
>>818
自作っつーても1から作ってる訳じゃないし、要望ないから対応してないだけでしょ。



821 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 12:34:05.56 ID:Ll0I2s7d]
Fortianってcall by referenceじゃなかったっけ
restrict相当のことができんの?

822 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 13:43:06.59 ID:JZCmTzL0]
汎用言語が特化型言語にその分野で勝てるなどと本気で思っているのか

823 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 14:03:00.45 ID:713NAhwC]
>>821
そりゃぁ、できるでしょ
規格にエイリアスが起こるような引数で呼出をしちゃダメって書くだけだから
でそれを知らずに使うと結果がおかしな事になるだけ

824 名前:デフォルトの名無しさん [2014/05/12(月) 19:30:19.95 ID:iANYuL+Z]
>>811
違う。ライブラリが優秀なだけ。

825 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:24:46.27 ID:y9Wttb40]
>>824
だけであれば、コンパイル済みライブラリを呼び出し規約だけ合わせて持ってくればC/C++で同等の効果が得られるはずだが。

826 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:44:34.39 ID:YQWleS5K]
>>825
そうだよ

827 名前:デフォルトの名無しさん [2014/05/12(月) 23:46:56.67 ID:vVaOlzqd]
>>825
読んで
ja.wikipedia.org/wiki/LAPACK

828 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 00:05:22.43 ID:TqSYjziR]
>>824
違う。エイリアスを禁止している。

829 名前:デフォルトの名無しさん [2014/05/13(火) 00:21:54.82 ID:zyf+D5WO]
そんなんスパコン向けのCでもpragmaで記述可能。
FORTRAN屋のリソースが一番重要。

830 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 01:14:38.11 ID:dZPvmt+0]
最近のC/C++コンパイラとFORTRANコンパイラの性能比較ってあんまり聞かないけど、
まあほぼ差ないよね?



831 名前:デフォルトの名無しさん [2014/05/13(火) 01:24:02.00 ID:zyf+D5WO]
それはプラットフォームに寄るけど、例えばIntel製のx64コンパイラなら大差ない。x86の時代から。

832 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 01:29:12.40 ID:XEtmCF4Z]
行列計算ガリガリやるような場合は、fortranの並列化が良く出る
cでもコードが綺麗でintelコンパイラがしっかり並列化してくれるなら同じくらい

833 名前:デフォルトの名無しさん [2014/05/13(火) 01:31:49.46 ID:zyf+D5WO]
Crayの時代から言語仕様の差は殆ど無いよ。アホらしい。

834 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 03:37:05.89 ID:Y9eapwzT]
ところでこの流れ、C++14/1yと関係ありますかね?

835 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 03:53:09.16 ID:ikx/cn8e]
SIMD命令をどう扱うか、あるいは最適化とのバランスをどう取るかは
古くて新しい問題なので関連がないとは言えない……かもしれない
過去にはFortranよりも別名の解析が難しすぎて性能出せないからrestrictが入ったりした

いずれIntelのCilk Plus拡張みたいなのがC++にも入ったりするんだろうか

836 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 03:56:08.26 ID:pwL99Gt3]
Parallel STL とか。
blogs.msdn.com/b/vcblog/archive/2014/04/16/parallel-stl-democratizing-parallelism-in-c.aspx

837 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 17:33:20.42 ID:nq8xv96S]
>>835派荒らし

838 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 08:43:17.47 ID:sZLJbsHl]
>>833
範囲指定で演算出来るのとできないのじゃ全然違うだろ

a(4:16) = b(4:16) + c(4:16)

C++の言語仕様じゃこんな事出来ん。
C++で対抗するならCompiler依存の最適化に頼ってvalarray使うしかない。

839 名前:デフォルトの名無しさん [2014/06/11(水) 09:27:46.69 ID:PJoRkmgD]
つstd::transform

840 名前:デフォルトの名無しさん [2014/06/11(水) 11:50:08.04 ID:01hDVrAo]
>>838
FORTRAN2008でも並列化されるかどうかは実装依存だろw



841 名前:デフォルトの名無しさん mailto:sage [2014/06/11(水) 20:54:25.72 ID:EAcelASi]
>>840
実装依存じゃあるが、std::valarrayは常用されないんで、
殆どのvalarrayを使わない外部のLibraryを
持ち込んだりすると大きな差が出る。

842 名前:デフォルトの名無しさん [2014/06/12(木) 01:25:23.15 ID:gBR3iv8w]
autoが入ってから面白いコトが出来るようになったな。

struct Some{};
struct One
{
 static int Some(void);
};

template<class Type> Moon(void)
{
 auto someone = Type::Some();
}

Moon<Some>();
Moon<One>();

843 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 08:11:49.12 ID:NHJ7e1s4]
コムパイルエラーを見るのが楽しいの?

844 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 13:54:52.05 ID:1owlvPjk]
auto は超の昔からあるのだが…
仕様変更のことなのかこのバカが言いたいのは

845 名前:デフォルトの名無しさん [2014/06/12(木) 19:43:58.13 ID:pL3eo2ak]
>>843
Moonの戻り値型書き忘れたけど戻り値の型と各関数の実装書いとけばCompileは通るだろうよ。
面白いのは、static関数の代わりにConstructorが使える事。
autoの仕様が変わる以前もstatic関数の代わりにConstructorを使えたが、
戻り値の型がConstructorと違う場合は不便だった。

846 名前:デフォルトの名無しさん [2014/06/12(木) 20:00:01.48 ID:by0Erjmi]
struct Hello
{
 static ::std::string string(void)
 {
  return "Hello";
 }
};

template<class factory> void Print(void)
{
 auto message = factory::string();

 std::cout << message << std::endl;
}

Print<Hello>();
Print<std::string>();

847 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 21:10:12.35 ID:S879vZLc]
>>845
無知ですまんが それがどの仕様によるものなのか
教えてもらえないだろうか

848 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:28:30.40 ID:0MXtuPFI]
static int Some(void);
ってコンストラクタじゃなくて関数宣言じゃね

849 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:37:15.67 ID:S879vZLc]
>>848
そっちじゃなくて
struct Some{}; に対して
var x = Some{}; だけでなく
var x = Some::Some{}; ができるらしい
ということじゃ

850 名前:デフォルトの名無しさん [2014/06/12(木) 22:37:52.20 ID:cQg3VuKd]
>>848
Constructorって言ってんのははSomeのデフォコン



851 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:44:08.45 ID:nzSGZ+E8]
>>849
それ俺も不思議に思った。
出来ないよね?

852 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 22:45:19.54 ID:S879vZLc]
>>851
出来ないと思ったけどVC++(CTP)で通ったのでマジかと思った

853 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 23:02:25.72 ID:0MXtuPFI]
見るとこ間違えてたか
と思ったけどgcc 4.9.0でSome::Some{}が通らない

854 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 23:09:11.43 ID:S879vZLc]
n3936の5.1.1p13と5.2.3あたりを読んだが
それらしい記述が見つけられんかった
>>845の解説をキボンヌ

855 名前:デフォルトの名無しさん [2014/06/12(木) 23:11:57.71 ID:a0qy1iPO]
VCなら行けたな

856 名前:デフォルトの名無しさん mailto:sage [2014/06/12(木) 23:15:08.73 ID:CZtMYB4X]
さっちんが先走りしただけじゃね?

857 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 00:58:01.15 ID:hmIHNc6x]
>>849
それはできない。
3.4.3.1 [class.qual] p2 (N3936)
> ... Such a constructor name shall be used only in the declarator-id of
> a declaration that names a constructor or in a using-declaration. ...

858 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 04:28:38.17 ID:LbGT7je0]
なら>>842はなんでコンパイルできるんだ

859 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 04:35:34.24 ID:OKMjmph6]
規格に準拠しきってないコンパイラなんて珍しくも無いと思うが

860 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 05:23:52.19 ID:+JhvPlQc]
特にVC++とかな



861 名前:デフォルトの名無しさん [2014/06/13(金) 10:43:02.97 ID:9I0XJZWT]
他にはVC++とかね

862 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 11:04:32.57 ID:X7OhNsdX]
あとVC++もだな

863 名前:デフォルトの名無しさん [2014/06/13(金) 20:11:13.22 ID:UDg2skpP]
それとMicrosoft C/C++ Optimizing Compilerとかな

864 名前:デフォルトの名無しさん mailto:sage [2014/06/13(金) 22:36:24.30 ID:MHajdieU]
うんこgccよりはマシかな

865 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 00:02:08.88 ID:+uvAFgvW]
規格に準拠しきってるコンパイラなんて存在しないだろ…

866 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 06:48:05.07 ID:/TDJbnG0]
だったら何のための規格なんだろうな

867 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 07:07:02.61 ID:oqKmDn6y]
実装の目安にして他との互換性を気持ち上げておく為?

868 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 11:24:32.20 ID:kVfPiGuj]
完全準拠してますと謳えば花丸がもらえるんだからそれなりの価値はある

869 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 15:43:57.07 ID:s0fnKBCV]
昔の言語には実際に規格の無いのがあったが
その結果、方言と言う名の全く別の言語が大量に生まれた

ある環境で書いたコードが他の環境で動くよう意識すれば、ある程度書ける
それは規格あってこそだと思う

870 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:07:09.91 ID:CAKJ4sQG]
プログラミング言語の規格ともなれば、テストスイートとしてサンプルプログラム集があって
それを例えば99.5%動かせないと規格準拠を名乗れないとか決まってるもんじゃないの?



871 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:09:10.61 ID:vfNFzGu5]
>>870
そんな規格は見たことがない
ただ誰もマトモにフル実装できない糞言語も珍しい

872 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:23:37.71 ID:aHTZpW4+]
規格化されている言語でフル実装(?)されている言語て何があるの?

873 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:26:00.44 ID:CAKJ4sQG]
>>871
FortranにはU_F95_TS、AdaにはACATSなんかのテストスイートがあるけど

874 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 16:41:48.49 ID:CAKJ4sQG]
>>872
ttp://www.iso.org/iso/home/store/catalogue_tc/catalogue_tc_browse.htm?commid=45202
C#とかRubyとかフル実装されてそうじゃね?実装を元に規格作ったんだから

AdaもACATSがあるから準拠率は高いよ、まあ改定にともないACATSがカバーしてない部分が増えてきたけど
BASICやPascalあたりは規格よりもデファクトスタンダードな文法互換の処理系の方が多いと思うw
Full BASICやExtended Pascalを通す処理系は少ないけど、N88BASIC風やUCSD Pascal風に書いとけば大体通るw

875 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 17:35:37.37 ID:kVfPiGuj]
AdaとかFortranは軍事用で客が強い

876 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 19:23:31.39 ID:ni6zFfuh]
さすがプログラム板
0か1、100%じゃないと意味が無いってやつが居るな

877 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 21:14:48.18 ID:s0fnKBCV]
>>874
basicの規格はホントになあ…

878 名前:デフォルトの名無しさん mailto:sage [2014/06/14(土) 22:38:11.61 ID:TjXeM4mh]
エイダ ラブレスさんの母親の名前は
アナ ベラ ミル バンク

879 名前:デフォルトの名無しさん [2014/06/15(日) 20:28:12.01 ID:+/6EDhQc]
clangでC++14満たしてない機能ってなにがあるっけ?

880 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 03:05:02.10 ID:6StcDcqd]
clang.llvm.org/cxx_status.html
ググればわかる事だけに意図が判らんな
どーせ本当に聞きたいことは他にあるんだろ?
素直に言ってみ

あれがないよォォ〜あれが違うのォ〜あれが無きゃいやあああとかあんだろ
もしくは林檎だけは嫌なのォやめテェーとかその辺か

ほれほれ



881 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 03:29:42.14 ID:CewFynVt]
なんだこいつ

882 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 15:29:57.12 ID:lfARp+i5]
ググればわかる質問を他人に答えてもらってお礼もないとは性根が座っている。立派立派。

883 名前:デフォルトの名無しさん mailto:sage [2014/06/16(月) 15:55:21.79 ID:inAhM+v5]
ググれば分かる質問をわざわざ答えるとはおまえはブァフリンか?

884 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 11:06:30.77 ID:SROYhCqR]
こうやっていつものようにスレは埋まっていく

885 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 11:38:20.42 ID:bWi5oQT8]
C++14まだー?

886 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 16:08:27.06 ID:sAJDpU64]
winさんとこ以外はもう来てるらしいよ

887 名前:デフォルトの名無しさん mailto:sage [2014/06/18(水) 21:38:15.35 ID:2d3j0Gfz]
ISOは殿様商売なので
出版を人並みに急ぐとか
そういうことはしません

888 名前:デフォルトの名無しさん [2014/06/18(水) 22:52:04.43 ID:ZMMbatdC]
出版はめっさ早いが。ドラフトも駄々漏れだし。
仕様策定には当たり前だが時間かけているけど。

889 名前:デフォルトの名無しさん mailto:sage [2014/06/19(木) 12:23:54.10 ID:XmTJejmR]
今ISOはc++14に向けてなにやってるの
まだきょうぎちゅうなの?

890 名前:デフォルトの名無しさん [2014/06/19(木) 12:39:01.26 ID:EXEtiHUa]
papers読め








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<175KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef