- 1 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:25:25 ]
- The C++ Standards Committee
www.open-std.org/jtc1/sc22/wg21/ wikipedia ja.wikipedia.org/wiki/C%2B%2B0x C++0x pc11.2ch.net/test/read.cgi/tech/1149440647/ C++0x 2 pc11.2ch.net/test/read.cgi/tech/1191842951/ C++0x 3 pc11.2ch.net/test/read.cgi/tech/1204808027/
- 730 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:28:36 ]
- またひとつ変態のためのオモチャができるわけですね
- 731 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:30:25 ]
- 凶悪すぎるw
- 732 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 02:43:58 ]
- wとWでマイナス2進法を使って表せば任意長の整数が表せるな
- 733 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 04:31:33 ]
- >>728
そこでboost::lambdaでチャーチ数ですよ。
- 734 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 06:18:25 ]
- int w, h;
なんてのがコンパイルエラーになるワケww?
- 735 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 06:43:35 ]
- >>720は軽い気持ちで書いたが、規格では、
<literal> <user-defined-suffix> しか許されないから、wwwwがリテラルになるのは無理なんだ。 int operator "" w(const char*p, size_t s) { // 提案ではoperator "w"と書いた。 return s; // '\0'は抜いたサイズが渡される。つまりstrlen(3)と同じ。 } "www"w // == 3 なら可能。この定義なら ":-)"wでも3だが。
- 736 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 08:41:16 ]
- vで0、wで1を現わすとして2進数を実装するとこんな感じなのか。
"wvvvwvvwvwww"w // == 0x897 Vで2、Wで3を現わすとして4進数とか。 "WwVvwW"w // == 0xd87
- 737 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 09:42:00 ]
- -5 == "WWWW"w
-4 == "WWww"w -3 == "WWwW"w -2 == "Ww"w -1 == "WW"w #0 == "w"w +1 == "W"w +2 == "WWw"w +3 == "WWW"w +4 == "Www"w +5 == "WwW"w
- 738 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:06:28 ]
- -2進数採用で負数も統一的に扱えるぜ
0 -> ""w 1 -> "W"w -2 -> "Ww"w -1 -> "WW"w 4 -> "Www"w 5 -> "WwW"w 2 -> "WWw"w 3 -> "WWW"w
- 739 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:19:23 ]
- -2進数とかワロスww
この話題に触れたのはクヌース先生の説明を読んで以来だぜw
- 740 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 10:42:35 ]
- どんどんわかりづらくなってるwww GJ!w
- 741 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:01:48 ]
- インタプリタ書けば別言語を埋め込むことも出来るよな
"+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.\ ------------.<++++++++.--------.+++.------.--------.>+."BF =>"Hello world!" 夢が広がりんぐ
- 742 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:05:53 ]
- コンパイルタイムに評価できないと意味なさげ
- 743 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:16:43 ]
- 仕様全然知らんのだけど、
ローマ数字をコンパイルタイムで数値変換とかは無理?
- 744 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:19:15 ]
- constexprって再帰もループもできないんだろ?
- 745 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:21:08 ]
- 引数にコンパイル時定数しか取らないんだからあらかじめ計算できそうなもんだけどな
operator""の中でグローバル変数使う可能性があるから無理なんだろうか
- 746 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 11:23:52 ]
- >>744
再帰にしない代わりに同じ内容の関数をたくさんつくれば、 有限ステップの計算ならできるんじゃね。
- 747 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 13:13:28 ]
- boost::protoを使ってbrainfuckを実装する作業に戻るんだ
- 748 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 14:41:54 ]
- >>741
operator "" BF("abcdef")は、 operator "" BF<'a', 'b', 'c', 'd', 'e', 'f'>()と等価だから、 必要な分だけ特殊化しておけば大丈夫。
- 749 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 15:19:29 ]
- C++厨はすぐにTMPしようとするから困る。
- 750 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 15:23:50 ]
- >>749
素直にTMP厨と呼べば?
- 751 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 15:26:01 ]
- C++はD言語の爪の垢でも煎じて飲めば良いのになぁ>コンパイル時文字列操作
- 752 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 15:48:44 ]
- 今度はD厨か。
- 753 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 15:57:39 ]
- Dといえば以前はDelphiだったのにな・・・
- 754 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 18:48:31 ]
- D厨は関数のコンパイル時実行で無限再起でも起こしてコンパイラを落としていればいい。
- 755 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:41:29 ]
- コンパイルタイム無限再帰で悩むのはC++、
コンパイルタイム無限ループで悩むのがD。
- 756 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 19:54:33 ]
- そろそろ文字列mixinを導入して本格的にマクロを捨てようじゃないか
- 757 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 00:13:59 ]
- importディレクティブマダー?
- 758 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 18:34:26 ]
- mixinなんてD臭いキーワード嫌だ
- 759 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 20:36:27 ]
- late binding指向のmixinなんかC++に入るわけがない。
- 760 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:50:31 ]
- >>19
- 761 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 17:57:57 ]
- 後置単項の+はC++の演算子じゃないから>>19は構文エラー
- 762 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 01:13:42 ]
- 後置+++はC+++の演算子だよ。
- 763 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:15:49 ]
- C# は # という演算子を作るべきだった。
- 764 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:17:46 ]
- C や C++ にすらあるというのに
- 765 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:55:25 ]
- でもC/C++の#演算子は前置単項だからな
- 766 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:57:28 ]
- 使ったことないな
- 767 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 23:01:27 ]
- ASSERT のようなマクロを使う時に
引数をエラーメッセージに表示する時とかによく使う。
- 768 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 23:02:28 ]
- 使う時に、じゃなくて、作る時に、だ。
- 769 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 23:28:01 ]
- プリプロセッサ演算子だな
- 770 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 21:58:51 ]
- ぷろぷりせっさ
- 771 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 09:12:03 ]
- ぷるぷるそっさ と空目
- 772 名前:デフォルトの名無しさん [2008/11/24(月) 19:19:49 ]
- スレッドとメモリモデルに関してはどこを探せばいいですか
C++0xで決まるのかどうかもわかってないレベルですが
- 773 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 19:20:31 ]
- >>772 >>1
- 774 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 21:24:43 ]
- C++0xのラムダ式は再帰できますか?
- 775 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 21:30:15 ]
- C++2003でも不動点演算子となるような関数オブジェクトが定義できるんで
こういうのを0xでも実装すればかのうだと思います
- 776 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 10:09:21 ]
- >>774
VC++blogに0xのラムダを使った再帰の例が出てたよ
- 777 名前:デフォルトの名無しさん [2008/11/30(日) 11:56:57 ]
- / ..::::::...ヾ,-┐:::::.. ヽ、
/:::::::: :::::::::::::::..ヽ|、::::::::... ヽ、 / :::::::: 、:::::::::::::::::...ヽ::::::::::::.. ヽ / ::::: 人、 | ヽ、_:::::::::::::: |:::::::::::::. | ,イ´ | :::ト、 | `'-,r‐=,、ヽ、 ::: |:::::::::::::: | rv' l´ ヽ、:.| r-、 p ヽ `l ,ヘ::::::::::::::::: | | | | ヾヽ、 ハ ヾ_ノ .| |' .|:::::::::::::::::: | ラムダっちゃ♥ '´ ̄ ̄`ヽ、、_ | | | ヽ、l ゞ ー | レ'::::::::::::::::::: |  ̄ ` r-L l ', |` 、 ,' |:::::::::::::::::::::: | _rヾニ `ヽ ', ヽ、 r‐-ァ /::|::::::::::::::::::::::::.. | ヾゝイ´ ,/ .', ヽ、ゝ' _,.-;ノ:: |:::::::::::: ::::.. | :.. ト ´ /.... 'ヽ,、_ >r' /:: /::::::::::::: ::: | 〉 .|:::::::::::...... `ー-‐'´,-/ /::::: / `ヽ、::: | :.... .:::::::::::| |:::::::::::::::::,、-r―'''´ ̄ ,.-‐'´:::. / |:::::.... . | ::::::::::::::::::::::::::::::::| ',:::::::::::::∧ヾ V/―/::::::::::: / |:::::::::::.......:::. | ::::::::::::::::::::::::::::::::| ',:::::::::::ト kl /三/:::::::::: / ,'::::::::::::::::::::::: | ::::::::::::::::::::::::::::::::| ',:::::::::|ヾヾ|、 /::::::::: ,イ ,'::::::::::::::::::::::::: | | ::::::::::::::::::::::::::::::::| ',/ヽ__ヾ、|:::::: ∧/ /:::::::::::::::::::::::::: |.|.| ::::::::::::::::::::::::::::::::', ! / ヾ:: ∠__/ /:::::::::::::::::::::::::: | ||
- 778 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 12:04:27 ]
- N2554: The Scoped Allocator Model (Rev 2)
ってあるけど、これ地味にいいね 組み込みでもSTLコンテナとか使いやすくなる予感
- 779 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 23:24:37 ]
- そもそも組み込みではSTL自体が提供されていないことも珍しくなく
STLPortがコンパイル通るのも夢のまた夢だったり
- 780 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 00:18:37 ]
- >>778
メモリアロケーション関係はいいのが多いね。 >>779 Embedded C++(笑)
- 781 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 18:32:39 ]
- 組み込みって標準入出力ないんでしょ?
cin,coutとかどうするんだろ
- 782 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 18:38:57 ]
- そういうとこでは<iostream>などが無くても良いことになっている。
フリースタンディングとかでググれ。
- 783 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 21:19:00 ]
- >>781
そういうことは初心者スレで
- 784 名前:デフォルトの名無しさん [2008/12/07(日) 01:44:06 ]
- C++のISO 標準仕様の文書を無料で手に入れたいんだけど、転がってるところ知らない?
JIS のHPにいったらPDFで閲覧できたんだが、こいつはスキャナかなんかで読み込んだのを PDF化したものらしく、ろくに検索もできないんで、ほとんど使えない。
- 785 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 01:56:24 ]
- draft + 規格名 + filetype:pdfでググって。
- 786 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 02:09:00 ]
- >>784
ありゃひどいよな…。 検索できない電子文書とかただのバイト列だわ。
- 787 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 02:16:54 ]
- 無料じゃ手に入らない。金を払え。
- 788 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 02:18:44 ]
- >>784
なんで ISO の規格が見たくて JIS に取りに行ってんだ? ISO のやつなら >1 のページにあるドラフトと Issue リスト見ればおおかた情報は揃うし、 検索もできる。
- 789 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 04:29:07 ]
- だいたいJIS規格のアレをまともに読んでいる奴はこの世にいるのか?
訳した奴でさえ、多分意味分かってないんじゃないのかアレ。
- 790 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 06:26:03 ]
- 何で売っているものを無料で手に入れようと思うんだ?
- 791 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 06:28:42 ]
- この御時世に規格書を売るってのが変だと思うんだが。
C++0xの規格もやっぱり有料なのかな。
- 792 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 08:06:29 ]
- >791
公的標準化機関の制定する規格書で無料のものの方が少ないんじゃね? 運営費も必要だし。全額寄付だと公平性に問題がって話になるし、全額税金だと ある程度は受益者負担でって話が出てくると思う。 と思ったけど結構高いな、おい。 現行 C++ で JIS だと PDF がまだないけど、冊子で \17,325。PDF できても同額になると思われる。 ISO だと CHF 370,00 で 3万弱か? ANSI だと $30.00 なのに。 一時期 $15 で売ってたはずでその時に買ったから高いという意識があんまりなかった。
- 793 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 11:28:46 ]
- JISの規格票の値段はページ数に比例します。
恨むならでかい規格作った方を恨んでください。
- 794 名前:デフォルトの名無しさん [2008/12/07(日) 12:38:07 ]
- CHFてどこの国の通貨単位か当てっこしようぜ。
おれはチャイニーズフランだと思う。
- 795 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 12:58:53 ]
- >>794
Confoederatio Helvetia Franc コンピュータ技術者ならお馴染みのフォント名が実はあの山国のラテン語名だったのね。
- 796 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 16:16:41 ]
- >>792
ISOってC#とかは無償公開してたよなぁと思って調べてみたら C++は今のところTR1だけみたいね。 ttp://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ttp://standards.iso.org/ittf/PubliclyAvailableStandards/c043351_ISO_IEC_TR_18015_2006(E).zip 雰囲気、C++0xもFreely Available Standardsに入るんじゃなかろうか。
- 797 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 16:21:06 ]
- すまん。TR1じゃなくてTechnical Report on C++ Performanceだった。
- 798 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 19:15:35 ]
- >>797
そいつはずっと前から >1 のリンク先でダウンロードできる。
- 799 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:13:11 ]
- C++0x の初期ドラフトは C++03 に近いからそれでいいんじゃね。
- 800 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:23:32 ]
- みんなちゃんと金だして買えよ。俺はISO版とANSI版とJIS版を買ったぞ。
そこまで揃えろとは言わんけど、せめて一つぐらい買ってやれよ。 こんなC++の新規格追いかけてるようなプログラマなんだから、みんないい給料貰ってんだろ?
- 801 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:45:17 ]
- そもそもその金は誰の懐に入るの?
- 802 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 23:43:29 ]
- >>800
ISOとANSI、二つ必要?
- 803 名前:802 mailto:sage [2008/12/07(日) 23:45:19 ]
- ちなみに俺はISOの奴、
INCITS+ISO+IEC+14882-2003.pdf だけ持ってる。古いのもあるが、最新はこれだけ。
- 804 名前:800 mailto:sage [2008/12/08(月) 05:43:34 ]
- >>801
それぞれの規格をとりまとめてる機関の運営費になってるハズ。 >>802 内容的には同じだから要らない。 ISOのほうが先行して発売してたから買っちゃったけどISO版は一番高いくせに糞。 ttp://ml.tietew.jp/cppll/cppll/article/10268
- 805 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 06:50:05 ]
- g++ 4.4にautoの実装と新しい関数宣言の構文来てるね。
あまり使い方わかってないけど、適当に4.4の新機能を使ってみた。 #include <iostream> #include <vector> template <typename T> auto f(T x) -> decltype(x*x) { return x*x; } int main () { std::vector<int> x{1, 2, 3, 4, 5, 6, 7, 8, 9}; for (auto i = x.begin(); i != x.end(); ++i) std::cout << f(*i) << std::endl; return 0; } 出力 1 4 9 16 25 36 49 64 81
- 806 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 07:47:42 ]
- やっぱりきもいな。
Dだと、 typeof(T*T) f(T)(T x) { return x*x; } auto f(T)(T x) { return x*x; } でいけるから、C++ももうちょっと頑張って欲しかったのに。
- 807 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 08:01:47 ]
- しばらく*iな理由を考え込んでしまった……
- 808 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 19:32:33 ]
- >>803
それANSIじゃないの? ここで買えるやつだよね。 ttp://www.techstreet.com/cgi-bin/detail?product_id=1143945 購入検討中
- 809 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 06:39:50 ]
- >>807
iがイテレータだからだよな パッと見だと分からないね
- 810 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 08:31:16 ]
- んなわけねーべw > 考える、分からない
- 811 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 03:55:43 ]
- インクリメントされるint型がポインタで渡されてる(´・ω・`)???
って、一瞬なるよ。
- 812 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 08:09:01 ]
- iじゃなくてitにでもしておけばいいな。
- 813 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 08:29:41 ]
- >>811
ならねえよ。 concept map InputIterator<int> { typedef int value type; typedef int reference; typedef int* pointer; typedef int difference type; int operator* (int x) { return x; } }; でさえ全然普通。begin(), end(), *iでiterだなって分かる。
- 814 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 10:40:45 ]
- そんなのできないだろ
コンセプトマップ貼り付けられる組み込み型ってポインタだけでしょ?
- 815 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:25:20 ]
- >>805はイテレータの名前がiになってるから違和感あるんだな
あまりイテレータをiって名付けてるソースはないと思う itとかiteとかiterとかならよく見るが >>814 んなこたない。組み込み整数型も関数型もいけるはず。
- 816 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:36:51 ]
- そもそもループ変数がiなのはiteratorから来ているんじゃないの?
- 817 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:37:56 ]
- intだろ……、と思わずマジレス。
- 818 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:40:12 ]
- indexじゃなかったか?
- 819 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:40:52 ]
- intだろうとiteratorだろうとループ変数で使うならiだなぁ
スコープが狭くて使用頻度が高ければ1文字は基本ですよねー
- 820 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 12:30:30 ]
- オッサンがマジレスしちゃうぞー
- 821 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:04:54 ]
- 数学の積分で使うiはindex?
どっちにしてもiとかjとかnという変数を見たら整数だと思うよ FORTRANerじゃないけど
- 822 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:13:26 ]
- よくわからないけどintegralでは?
- 823 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:16:34 ]
- 頻度が高いからこそ二文字変数にしてインクリメンタルサーチで引っ掛けやすくすると言うこともあるが。
- 824 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:55:42 ]
- >>816
iotaからきてるはず。 だからC++0xには void iota(Iter first, Iter last, T value) なんて関数が<numeric>に入るんでしょ。
- 825 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:03:31 ]
- C++スレ見てたから、なぜitoaが?
卵から鶏が・・・とか思ってしまったんだぜ
- 826 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 20:52:23 ]
- え、素直に、FORTRAN の最初の整数値変数のiから来てるんだと思っていたが
算術周りは後付でしょ
- 827 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 20:59:50 ]
- 大本は数学で行列や数列の要素を書くのに下付き文字でa_ijとか書いてたのだろ
1800年代からの習慣だ
- 828 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 21:06:31 ]
- それはそんなに古くない習慣だと思うが
- 829 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 01:56:50 ]
- >>814
ConceptG++で動いているコードだよ。
- 830 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 01:27:12 ]
- ユーザー定義リテラルのサフィックスに使えるのって'_'+小文字で始まるものだけ、で合ってる?
_で始まらないのサフィックスは予約されてるし、identifierには違いないから '_'+大文字や__でを含むのもダメなんだよね?
|

|