タグ

C++0xとc++0xに関するtyruのブックマーク (63)

  • C++0x 規格書日本語訳 - KBDAHOLIC - やぬすさんとこ

    今なら C++98 読むよりゃ draft だけど C++0x の規格書読んだ方がいいだろうってことでカホカホ打っている感じ。 http://github.com/januswel/Cxx0xISja 完了してるところが偏りまくってるんだけど C++ の規格書を読む上で必要な語句が定義されているところを重点的に、あとおれの興味のあるところをいくつかという感じで。てかこの規格書語調が安定してなかったり語句定義がまとまってなかったり ( ごく一部でしか使われない語句はそこで定義してるとか書いてあるけど条項を越えて使われてる語句がかなり多い ) 非常に読みにくい。国際標準の文書ってのはこういうもんなのかと思いつついやでも W3C の出してる recommendation は普通に読めたしな…とか英語力の問題かと思いつついやでも RFC は普通に読めたしな…とかまぁそんな感じで。 自分で規格書を読

    C++0x 規格書日本語訳 - KBDAHOLIC - やぬすさんとこ
  • 晴れ時々 C++0x Wiki*

    WIKIは現在仕様策定中の C++0x 言語仕様書の翻訳を、こっそりと堂々行うサイトです。 当WIKI内の内容はあくまでヽ(゚∀。)ノうぇねが私的に行ったものであり、なんら正式に書式化されたものではありません。かなり翻訳として怪しい内容もありますので、基的には原文の補助として参照してください。 また、内容的におかしな場所、言葉、不適切な用語があれば、指摘ください。 現在の作業対象は仕様書草案 N3035 を基準に行っています。 力尽きたら、そっとページを閉じて見なかったことにしてください。 JTC1/SC22/WG21 C++ 標準化作業グループ コメント欄 タイトルは現状 N3000 をベースに作成しています。順次、N3035 に移行します。 -- ヽ(゚∀。)ノうぇね? 2010-03-13 (土) 23:07:43 お、誰か参加してくれている! ありがとうございます。 -- ヽ(

    晴れ時々 C++0x Wiki*
  • 寄付のお願い

    追記:寄付のおかげで形になるまで執筆が続けられました。の虫: C++11参考書の公開:C++11の文法と機能 私のC++0xの執筆活動のため、寄付をお願いします。 Paypal経由での寄付も受け付けています。通貨単位は、日円(JPY)に設定しています。 [終了] 説明 私は今、C++0xの参考書を執筆している。このは、C++0xの新機能はもちろんのこと、既存の参考書で、なかなか説明されることがなかった、名前探索(Name lookup)や、オーバーロード解決(Overload resolution)、テンプレートのインスタンス化(Instantiation)と依存名(Dependent name)といった、言語の規格上の定義を、詳しく説明するになる。また、日人の手によって書かれたとしては、おそらく初めて、規格を参考にして書かれる、総合的な参考書となるはずだ。 私は、既存の日

  • ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee

    2024-02-16: standards | projects | papers | mailings | internals | meetings | contacts News 2024-02-15: The deadline for the 2024-04 mailing is 2024-04-16 16:30 UTC News 2024-02-15: The 2024-02 pre-Tokyo mailing is available (13000 kB tar.gz), individual papers News 2024-01-16: The 2024-01 mailing is available (4000 kB tar.gz), individual papers News 2023-12-22: The C++ Standard Core Issues List (

  • autoの意外な使い方

    江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul

  • エクストリームテキストプロセシング - 0xFEEDFACE

    C++0xをdisってる人をdisる闇のC++軍団たち - Togetterに吹いた。 だがちょっと待ってほしい。C++0xは変態過ぎはしないか。たとえば増田からは「正規表現使いたければそれこそ、Perl使え」と主張するような声もある。このような声に闇のC++軍団たちは謙虚に耳を傾けるべきではないか。 傾けてみた。まず、perlfaq9 - Networking - metacpan.orgをコピペして、 #! /usr/bin/perl use strict; my $atom = qr{[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+}; my $dot_atom = qr{$atom(?:\.$atom)*}; my $quoted = qr{"(?:\\[^\r\n]|[^\\"])*"}; my $local = qr{(?:$dot_atom|$quote

    エクストリームテキストプロセシング - 0xFEEDFACE
  • rvalue Reference is not an rvalue

    rvalue referenceは、rvalueではない。私は今まで、これを深く考えたことはなかった。一体どういうことなのか。 int a ; // Error int && b = a ; // OK. the same thing std::move() does. int && c = static_cast< int && >(a) ; // Error. Why? int && d = c ; bはエラーになるのは、常識でも理解できる。しかし、なぜdがエラーになるのか。まったく同じ型ではないか。また、こんな例もある。 // lvalue reference void f( int & ) {} // rvalue reference void f( int && ) {} int main() { int x = 0 ; int && ref = std::move(x) ; /

  • 本の虫: C++0xの新機能のリスト

    どうやら、C++0xのを執筆することになった。 ふと思えば、今まで一度も、C++0xの新機能がどのくらいあるのかということを考えたことがなかった。規格の変更は、もちろん大量にあるのだが、その中で、特に知っておくべき変更や追加というのは、どのくらいあるのか。整理するために、リストアップしてみた。このリストに載っていない機能や、既存の規格に対する変更で、特にユーザーも知っておくべきものがあれば、知らせて欲しい。 C++0xはまだドラフト段階だが、確実にこれは大きく変わらないだろうという機能は、かなりある。逆に、これはちょっとまだ分からないという機能もある。 言語機能 Rvalue Reference auto delctype static_assert Template Aliases extern template Variadic Templates Initializer lists

    tyru
    tyru 2009/12/26
    前やねうらおさんがコメント欄で言ってた件が実現したんだろうか。とりあえずおめでとうございます。
  • 和訳:Rvalue References: C++0x Features in VC10, Part 2 - ntnekの日記

    Stephan T. Lavavej のRvalue References: C++0x Features in VC10, Part 2の適当な訳です。左辺値と右辺値、無駄なテンポラリが生成される問題、新たな参照「右辺値参照」の特徴と使い方、ムーブセマンティクスの意味と使い方、完全転送パターンの書き方、それらを可能にする仕組みと、これに関する C++0x の新たな文法ルールについて書かれています。 特に前半は、この手の記事としてはこれまでで一番分かりやすく丁寧に解説されていると思います。正直よく分かっていなかったんですけど、これを読んでだいぶスッキリしました。 で、ムーブセマンティクスによるテンポラリの除去が日用品のように使えるようになれば、LinusLinux カーネル開発者たちが「C++なんてクソ言語は使えねぇ!」と主張する(正当な)理由の一つを崩すことができますね。これを機会

    和訳:Rvalue References: C++0x Features in VC10, Part 2 - ntnekの日記
  • C++0xで遊ぶための俺用まとめ - 逆噴射式

    g++でC++0xをいじってみようかと思ったけど混乱してきたので俺用まとめ 参考資料1(Wikipedia) 参考資料2(GCCの対応状況) 参考資料3(C++0x新フィーチャの解説) GCC4.3で対応済みのもの 右辺値参照(Rvalue references) これはライブラリ作る時に使う程度かな。パフォーマンス改善用Static assertions (@Wikipedia) コンパイル時アサート。Declared type of an expression 変数の型を返す演算子。sizeofはサイズを返し、decltypeは型を返す。そんな感じ。 型推論実装されないと使いにくくない?Right angle brackets (@Wikipedia) templateが入れ子になった時に右が>>で終わるっても右シフト演算子扱いされなくなった。やるのが10年おせえよ。Default

  • 本の虫: シンタックスシュガーとしてのlambdaの解説

    の虫: lambda 完全解説で、lambdaの全機能は、ほぼ網羅したと思う。lambdaの文法は、それほど難しくはないと思うのだが、難しいと感じる人がいるらしい。とくに、キャプチャが理解できない人がいるそうだ。そこで今回は、lambdaの根を解説してみようと思う。 lambdaというのは、そもそも関数オブジェクトのシンタックスシュガーなのである。例えば、 namespace hito { template< class InputIterator, class Function > Function for_each( InputIterator first, InputIterator last, Function f ) { for ( ; first != last ; ++first ) f( *first ) ; return f ; } } int main() { st

  • rvalue reference 補足

    前回、rvalue reference 完全解説なる記事を書いた所、ある程度の反響を得た。このような個人のブログでは、数人が思う所を書けば、まあ、ある程度の反響と言って差し支えないのである。 しかるに、皆rvalue referenceの理解に苦しんでいる様子だ。果たしてあの解説が至らなかったのであろうか。しかし、あの解説は、これ以上ないくらい簡単に書いたはずである。 実際、value referenceは、名前の通りのrvalueへのreferenceに過ぎぬのだし、std::move()とstd::forward()は、キャストに過ぎぬのだ。std::move()は、rvalueへのキャストであり。std::forward()は、lvalueをlvalueへ、rvalueをrvalueへキャストするのである。それだけのことなのである。 しかし、現実に理解に苦しんでいる者がいる。これは一

  • ときどきの雑記帖

    ■_ ・ビジョナリー・カンパニー 図書館で借りて読んだんですが微妙… どこかでほめてた記事を見て借りたと思うんですけどなんというか。 ビジョナリー・カンパニーとして挙げられているのにウォルマートやモトローラがあるんですが、 が出版された(1994年頃?)時点はともかく今現在はどうかというと、うーん。 モトローラのところで「アップルにMPUが採用されて云々」という一文があったりするのが 経過した時間を感じさせるなあと。 ・ Twitter / いーぐるとまと: そういえば昨日の話では Lisp は関数型じゃないし ... → Twitter / いーぐるとまと: C++ ですかね ・ URLを見失っちゃったんですが、 数日前にソースコードの読みやすさに空白や空行がかなり影響しているという レポートがあったんですよね。もうちょっと詳しく読もうと思ってたのに。えぐ。 ・ 一週間くらい

  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

  • 本の虫: rvalue reference 完全解説

    目的 この記事は、C++0xのrvalue referenceを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からrvalue referenceを恐れることなく使う物のC++0xプログラマになれるだろう。 lvalueとrvalueについて Cの時代では、lvalueとrvalueの違いは、代入演算子の左側か右側かという違いだけであった。つまり、left hand value, right hand valueの略である。従って、訳語も、左辺値、右辺値であった。C++においては、これはもはや正しくはない。従って、右辺値、左辺値というのも、誤訳である。それ故に、ここでは、これ以上、左辺値、右辺値という名称を使用しない。 誤解を恐れずにいえば、lvalueとは、明示的に実体のある、名前付きのオブジェクトであり、rvalue

  • Page Redirection - GNU Project

    This page has been incorporated into another. If you are not redirected automatically, click here. For questions related to the use of GCC, please consult these web pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org mailing list might help. Comments on these web pages and the development of GCC are welcome on our developer list at gcc@gcc.gnu.org. All of our lists have public archi

  • タプルの要素数を数える - デ-mk6

    世間では空前のプリプロセッサブームですね! http://codepad.org/IwJ4sqA9 C++0xの規格を眺めていると、プリプロセッサのセクションに可変長引数リスト付きマクロが入っていたので、これを使って何か面白いことができないかと考えていたところ、タプルの要素数を数えることはできないだろうか、と思ったので、やってみた。gcc-4.3.3 -std=c++0x -E -Pで確認している。 タプルの要素数を数えるところはシンプルだけど、PP_IS_EMPTYはBoost.PPのものではなく、自家製。Boostのそれは、identifierか数値か空かしか識別できない(それぐらいだっけ?)。要素数不明のタプルを調べるには、いかなるトークンがコンマ区切りで何個きても識別できるようにする必要がある。で、これが異常に難しい。基はBoostのものと同じだけど、間に挟まるトークンによって展

    タプルの要素数を数える - デ-mk6
  • C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す

    C++0Xの新機能が搭載されたVisual Studio 2010 Microsoftの開発者向け技術情報サイト「MSDN」では、Visual Studio 2010 β1 がリリースされています。IDEがWPFで作られていたり、.NET Frameworkのバージョンが上がっていたりと、Visual Studio 2010では様々な変更/拡張が施されているようですが、C++屋の筆者としては、Visual C++が部分的にせよC++の新規格(通称C++0X)の新しい機能を積極的に取り入れていることが、とても嬉しく思います。 Visual C++ ver. 10に追加されたC++0Xの新機能のひとつ、「ラムダ式(lambda expression)」を少しばかり触ってみましょう。 関数オブジェクトとは C++templateをサポートし、それにあわせてSTLに代表されるテンプレート・ライブ

    C++0xの新機能「ラムダ式」を次期Visual Studioでいち早く試す
    tyru
    tyru 2009/09/10
  • C++0x 標準コンテナのsize()の計算量を規定 - Faith and Brave - C++で遊ぼう

    標準コンテナのsize()メンバ関数の計算量を全てO(1)にしようという提案があり、 賛成多数で通ってしまったらしいです。 つまり、サイズ用のメンバ変数を持たずに実装されていたstd::listやstd::set等に サイズ用メンバ変数が新たに追加されることになります。 組み込み環境でSTL使ってるところがコンパイラをアップデートしてC++0xに対応すると メモリ不足で動かなくなる可能性があるのですが、そのへん考慮されているのだろうか。 以下、N2920の投票結果から 我々は、C++0X working paperにN2923 "Specifying the complexity of size() (Revision 1)"を適用する。 Crowlは、これによってABIが破壊的に変更されるかどうか尋ねた。 Hinnantは、実装に依存すると返答した。いくつかの実装は変わるだろう。 Bro

    C++0x 標準コンテナのsize()の計算量を規定 - Faith and Brave - C++で遊ぼう
    tyru
    tyru 2009/09/02
  • https://faithandbrave.hateblo.jp/entry/20071005/1191579496

    tyru
    tyru 2009/08/17