- 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/
- 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つけないだろ
|

|