You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
そういえば C++ のヘッダファイルを #include するだけで使える GC を書きました。使い方は下のサンプルコードを見てもらえばいいとして、特徴としては、 ヘッダファイルを #include するだけで使える C++ の標準機能だけを使っているのでポータブル*1 mark-and-sweep, precise GC ってなあたりでしょうか。コードは GitHub - kazuho/picogc: a tiny, portable, precise, mark-and-sweep GC in C++ にあります。 C++ のプロジェクトで、ちょっとここだけは GC がほしいんだけど、ってなケースで使いやすいと思います。速度も、そこそこでるんじゃないかな*2。 というわけで、以下、サンプルコード。軽く説明しておくと、 GC を使うクラスは picogc::gc_object を継承する
たまたま、Andrew Koenig氏と技術的ではないメールを交わす機会があったので、氏がBarbara Mooと共著したRuminations on C++は、まだ私がプログラミングやC++の基礎を勉強していたころ、たいへん役に立ったと感謝の意を述べたのだが、そこでふと気がついた。 私が初めて、Rumminations on C++読んでから、まだ6年しかたっていないという事実である。なんということだ。まだ6年しかたっていないのか。私がRuminations on C++を読んだのは、もうだいぶC++について理解していた2006年だったのだが、それでも、あの本の簡単な英語と、その内容の濃さと、しかも本が1996年頃書かれたという、この業界ではもはや古典とみなされる大昔に書かれたのにもかかわらず、一向に古びていない内容に驚いた。この2012年でも、まだこの本には価値があるのだ。なぜか、世間
コンシューマ向けゲーム開発に携わって結構な年数が経過しました。 これまでは恵まれていたのか、STLを使える環境にいた*1ので特に気にしていなかったのですが、どうやら場所によってはSTLはゲーム開発向きではないらしく使用を禁止される事もあるようです。 おかしいですね。私、STL使ってコンシューマ向けのゲーム作ってきましたけど。 確かにSTLはその特性と使用方法を知らないと痛い目にあいます。特にコンシューマ機のメインメモリ容量はPCに比べて圧倒的に少ないです。その少ないメインメモリ上に実行バイナリやヒープ領域などを展開しなければなりません。メモリ管理に対してシビアになるのは当然で、templateは使用方法によってはバイナリサイズが増大するので使用をある程度制限する事は仕方ありません。 また、std::listや、std::map等は使えば使う程内部でメモリを平然と分断してくれるので、ヒープ領
Post-Kona Mailing and More Libraries The view from C++ Standard meeting Feb 2012 中の人(cpp-netlib作者、GoogleのDeanさん)がブログに書いたのでここにも書いちゃいますが、C++11の次はC++17となりそうです(仮称はC++1y)。これは小規模なアップデートの予定。さらに2022年あたりに大きなアップデートを予定してます。 標準化は5年周期で行うのが通常らしいのでその関係でこの期間みたいですね。 ライブラリの追加は言語の標準化とは別にリリースされることになるかもしれません。 追記: zakさんがHerb Sutterのブログを翻訳してくれました。 出張報告書:2012/2 C++ Standard Meeting
Introduction¶ This document describes the language extensions provided by Clang. In addition to the language extensions listed here, Clang aims to support a broad range of GCC extensions. Please see the GCC manual for more information on these extensions. Feature Checking Macros¶ Language extensions can be very useful, but only if you know you can depend on them. In order to allow fine-grain featu
C++11にはユーザー定義リテラルというものがある。私はこの機能が嫌いだ。しかし、どうやらgcc 4.7がある程度の実装を終えたらしい。日本一C++に詳しい男を自称する私としては、試さなくてはならない。そこで、この記事を書く。この記事を読めば、今日から君もユーザー定義リテラルをバリバリに使えるようになる。 まず、C++11では、非常に不思議な理由により、ユーザー定義リテラルは、演算子のオーバーロードという形で実装する。はて、リテラルにつくサフィックスは演算子なのだろうか。それはともかく、ユーザー定義リテラルの識別子には、一言注意が必要である。ユーザー定義リテラルの識別子は、必ずアンダースコアからはじめなければならない。 私が注意深く、「識別子」と書いているのには訳がある。ユーザー定義リテラルの識別子は、「名前」ではないからだ。この詳細を理解する必要はない。重要なことは、必ず「識別子」をアン
The POCO C++ Libraries are powerful cross-platform open-source C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems. Latest Release: 1.13.3 [Changelog] Get Started! The POCO C++ Libraries have been trusted by C++ developers worldwide for 19+ years to build challenging and mission-critical applications in a wide variety o
OCLint is a static code analysis tool for improving quality and reducing defects by inspecting C, C++ and Objective-C code and looking for potential problems like: Possible bugs - empty if/else/try/catch/finally statements Unused code - unused local variables and parameters Complicated code - high cyclomatic complexity, NPath complexity and high NCSS Redundant code - redundant if statement and use
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
はじめに C++では通常、クラスのprivateメンバに外部からアクセスすることができない。 アクセスするためには、friend関数やfriendクラスを用いる。 しかし、 http://bloglitb.blogspot.com/2010/07/access-to-private-members-thats-easy.html で話題となり、Daveが、 https://gist.github.com/1528856 にエッセンスを抽出したコードを起こしているが、privateメンバに外部から合法的にアクセスする方法がある。 Daveのコードのコメントだけで必要十分かもしれないが、私は理解するのにかなり時間がかかってしまったので、その経緯を忘れないためにもここに書いておきたいと思う。 メンバポインタの復習 まずは、このコードを見て欲しい。 http://ideone.com/dGRqg
ゲームプログラマのためのC++ 作者: マイケル・ディックハイザー,三宅陽一郎,田中幸,ホジソンますみ,松浦悦子出版社/メーカー: SBクリエイティブ発売日: 2011/12/21メディア: 単行本購入: 10人 クリック: 232回この商品を含むブログ (12件) を見る三宅陽一郎さん監修の本がまたでたという事で購入。 一部の人にとっては待望のその名も「ゲームプログラマのためのC++」です。 どういう本だったか紹介していきたいと思います。 入門書とEffective C++の間くらいの立ち位置の本 本書は所謂C++の入門書ではないことは間違いありません。 C++の構文を教えてくれるみたいなところは一切なく、様々なノウハウやテクニックを教えてくれる本です。 継承の使い方、const、参照、キャスト、テンプレート、例外、RTTI、デザインパターン、STLなど扱う分野はとても広いです。 そのど
VC++では、Debugger Visualizersによって、デバッガから、コンテナの中身をわかりやすく表示することが可能だ。 http://d.hatena.ne.jp/faith_and_brave/20100329/1269833173 gdbの場合はどうだろうか? まず、STLのコンテナに関しては、 http://sourceware.org/gdb/wiki/STLSupport をインストールすることで対応可能なようだ。 インストール方法は、 svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python を適当なディレクトリに配置し、以下の内容をホームディレクトリの.gdbinitに追記すればよい。.gdbinitが無ければ作ろう。 python import sys sys.path.insert(0, 'インストール
ストラウストラップのプログラミング入門 作者: ビャーネ・ストラウストラップ,Bjarne Stroustrup,επιστημη,エピステーメー,遠藤美代子(株式会社クイープ)出版社/メーカー: 翔泳社発売日: 2011/08/10メディア: 大型本購入: 10人 クリック: 283回この商品を含むブログ (52件) を見る日本語正式名称は「ストラウストラップのプログラミング入門」 原著名は「Programming Principles and Practice Using C++」 実はVimテクニックバイブルと同時期に購入していたこの本ですが、なかなかゆっくりと読む時間がなくて全部読み終わるまでに時間がかかりました。 1176ページは伊達じゃないです。こんな本はそうポンポンと読めるもんじゃないです。 だからと言って読む価値がないわけではなくて、むしろこれだけは読んでおけと言わんばかり
最近は製品作りから離れてしまったので自分の実験用のプログラムの他に将来的に人に使ってもらうプログラムというのを書いているのですが、"API Design C++"という本がちょっと気になっていたのでKindle版を購入してみました。 出版社の紹介ページ http://mkp.com/news/api-design-for-c アメリカのAmazon Kindle版 http://www.amazon.com/API-Design-for-C-ebook/dp/B004NNUZ6O/ref=ktr_rin_dp?ie=UTF8&m=A6U6H3H6WHQPH 自分でAPIやライブラリを設計する際の様々なTipsや設計、設計のヒント、ドキュメントについてなどが解説されていてちょっと期待通りな感じです。さすがにレビューの件数がそこそこあって評判がいいだけありますね。ちょっとコレは勉強しないと。
C++ is one of the most popular programming languages. 次世代のC++規格「C++11」が国際標準として発行された。多くのC++デベロッパは、この新しいC++規格で提供される新機能に関心があると思うが、仕様書を読むのは骨が折れるとためらっている方も少なくないだろう。 そんなデベロッパの皆さんに朗報だ。C++11の登場で通常のC++コーディングとライブラリデザインなどに強く影響を与えるとみられる変更がBjarne Stroustrup氏の記事「Elements of Modern C++ Style」にまとめられている。C++98と比べて特に見た目の変更が大きく、かつ、今後広く使われ新しいコーディングスタイルになりそうなものが紹介されており、C++11新機能を知るための導入ドキュメントとして役に立つ。 紹介されているC++11の新機能を簡単
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く