タグ

ProgrammingとC++に関するyokochieのブックマーク (91)

  • Amazon.co.jp: C++11/14 コア言語: 江添亮: 本

    Amazon.co.jp: C++11/14 コア言語: 江添亮: 本
    yokochie
    yokochie 2015/09/08
    『他の解説書ではわからないC++コア言語の詳細を不必要なまでに解説! 』
  • C++の正規表現ライブラリ: std::regex

    いまさらながら、C++の正規表現ライブラリを調べている。 C++の正規表現ライブラリ、std::regexは、boost::regexを土台に設計されている。boost::regexの正規表現の文法は、perlなのに対し、std::regexは、ECMAScriptである。この理由は、しっかりと正規表現の文法が定義されていて、外部規格として参照できる品質のものが、perlには存在しないためだ。std::regexはposixと拡張posixとawkとgrepとegrepの正規表現にも対応している。 記事では、ECMAScriptの正規表現を使う。また、参考のためのECMAScriptのコードも使う。 全体一致 文字列全体が正規表現に一致するかどうかを調べたいとする var re = /1234/ ; var text = "1234" ; var result = re.test( te

    yokochie
    yokochie 2015/01/20
    生文字リテラルなんていうのがあるのね
  • スレッドセーフという幻想と現実 - yohhoyの日記(別館)

    この記事はC++ Advent Calendar 2013の15日目にエントリしています。 内容はC++標準ライブラリとスレッドセーフに関する解説になります。 flickr / rennasverden もくじ What's スレッドセーフ? スレッドセーフという幻想 基型とデータ競合 C++標準ライブラリとデータ競合 C++標準ライブラリ:シーケンスコンテナ編 C++標準ライブラリ:連想コンテナ編 スレッドセーフ RELOADED 基的なスレッドセーフ保証 std::shared_ptr<T> std::rand() std::cout (文のみ約9000字) はじめに マルチスレッド対応の点では他言語に遅れを取っていたプログラミング言語C++ですが、C++11ではようやく標準ライブラリにスレッドサポートが追加されました。C++11スレッドサポートではスレッドクラスstd::thr

    スレッドセーフという幻想と現実 - yohhoyの日記(別館)
  • C++11参考書の公開:C++11の文法と機能

    C++11の参考書をGitHubで公開する。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 序 書はC++11のコア言語の文法と機能を、標準規格書に従って解説したものである。正式なC++規格書として発行された後の、ひとつ後のドラフト規格、N3337 を参考にしている。ドラフト規格を参考にした理由は、正式なC++規格書は、個人での入手が煩わしいためである。読者に入手が困難な資料を元に記述された参考書は価値がない。そのため、読者が容易に入手できるドラフト規格のうち、正式なC++規格書とほとんどかわらないN3337を参考にした。 書の対象読者は、C++を記述するものである。C++実装者ではない。そのため、サンプルコードを増やし、冗長な解説を増やし、C++コンパイラーを実装するための詳細な定義

  • C++ポケットリファレンス

    2013年5月18日紙版発売 2013年5月18日電子版発売 高橋晶,安藤敏彦,一戸優介,楠田真矢,道化師,湯朝剛介 著 四六判/528ページ 定価3,168円(体2,880円+税10%) ISBN 978-4-7741-5715-3 ただいま弊社在庫はございません。 →書の新版が発行されています。 書のサポートページサンプルファイルのダウンロードや正誤表など このの概要 ロングセラーシリーズ・ポケットリファレンスにC++が新登場。 「逆引き形式で目的からすぐ探せる」 「サンプルコードを見ながら具体的な実装のイメージがつかめる」 という特徴で,困ったときにすぐに役立ちます。 最新のC++11と現場のスタンダードであるC++03に対応。C++のエキスパートたちが執筆した,現場で役立つ1冊です。 こんな方におすすめ C++プログラマ C++11の特徴を手っ取り早く知って,使ってみたい方

    C++ポケットリファレンス
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • GCC 4.8がリリースされた - Faith and Brave - C++で遊ぼう

    GCC 4.8 Release Series Changes, New Features, and Fixes C++周りの変更は以下。 言語 thread_localキーワードのサポートを追加。 属性構文のサポートを追加。GCCに元々あった独自属性も、C++11属性の構文で提供されるようになりました。 alignas属性のサポートを追加。 継承コンストラクタのサポートを追加。 C++1yの実験的サポートのために、「-std=c++1y」コンパイルオプションを追加。このオプションをオンにすることで、N3386で提案された「戻り値型を推論する関数宣言構文」が利用可能になります。 ライブラリ(libstdc++) forward_listを、標準のアロケータ要件を満たすよう修正(allocator_traits) this_thread::sleep_for()、this_thread::sl

    GCC 4.8がリリースされた - Faith and Brave - C++で遊ぼう
  • Google Test ユーザーが Boost.Test を使ってみた

    この記事は、C++ Advent Calendar 2012: 17日目の記事になります。 お題は「Google Test ユーザーが Boost.Test を使ってみた」です。 (2012/12/27: 補足記事を書きました。) これまで、C++ の testing framework には Google Test を使ってきたのですが、 この機会に Boost.Test に挑戦したいと思います。 今年2月に行われた「Boost.勉強会 #8 大阪」の参加報告で Boost.Test 使うぜ!っと意気込んでおいて今更かという感じではありますが・・・ では、なぜ今まで使わなかったのかというと boost の導入がめんどくさそう 日語情報が少ない Google Test が使いやすかった と、いう勝手なイメージがあったからです。最後のが一番大きな理由でした。 でも、他のフレームワークのこと

    Google Test ユーザーが Boost.Test を使ってみた
  • Big Sky :: マルチプラットフォームな C++ 向けフォルダ変更監視ライブラリ「SimpleFileWatcher」

    C++ で簡単にフォルダ監視出来るライブラリ無いかなーと思ってたら、手頃なのが見つかった。 simplefilewatcher - Simple, cross platform, object-oriented, file watcher and notifier library. - Google Project Hosting SimpleFileWatcher is a C++ wrapper for OS file monitoring systems. Currently it uses Win32 ReadDirec... https://code.google.com/p/simplefilewatcher/ しかもマルチプラットフォームでビルド出来て、さらに他のライブラリに依存しないのでとてもポータブル。 Windows でも inotify を意識せずにコーディング出来ま

    Big Sky :: マルチプラットフォームな C++ 向けフォルダ変更監視ライブラリ「SimpleFileWatcher」
  • ゲーム開発とSTL - とあるぼっちの生存報告

    コンシューマ向けゲーム開発に携わって結構な年数が経過しました。 これまでは恵まれていたのか、STLを使える環境にいた*1ので特に気にしていなかったのですが、どうやら場所によってはSTLはゲーム開発向きではないらしく使用を禁止される事もあるようです。 おかしいですね。私、STL使ってコンシューマ向けのゲーム作ってきましたけど。 確かにSTLはその特性と使用方法を知らないと痛い目にあいます。特にコンシューマ機のメインメモリ容量はPCに比べて圧倒的に少ないです。その少ないメインメモリ上に実行バイナリやヒープ領域などを展開しなければなりません。メモリ管理に対してシビアになるのは当然で、templateは使用方法によってはバイナリサイズが増大するので使用をある程度制限する事は仕方ありません。 また、std::listや、std::map等は使えば使う程内部でメモリを平然と分断してくれるので、ヒープ領

    ゲーム開発とSTL - とあるぼっちの生存報告
  • C++ でlexer/parserをかくなら re2c+lemon がオススメな件 - tokuhirom's blog

    yacc や lex をつかっていても「なんかよくわからんけどうごく」という状態になりがちだったり、グローバル変数にまみれたりしがちだが、re2c + lemon だとそのへんがすっきりする。 レキサを以下のようにかく。yyfill を自前でかかなければいけないのがちょっと面倒だが、このようなクラスを手軽にかけるのはやはり便利である。flex ではこうはいかないのだ。 #ifndef CALC_SCANNER_H_ #define CALC_SCANNER_H_ #include <stdio.h> #include <string.h> #include <string> #include <sstream> #include <vector> #include <iostream> #include <fstream> #include "scanner.def.h" #include

  • カスタムメモリマネージャと高速なメモリアロケータについて

    2. 自己紹介 ハンドルネーム alwei Twitter ID @aizen76 alweiもしくはaizenのどちらかを使っています 流浪のゲームプログラマ Wii、DS、PSP、PS3、3DSゲームとか作ってた 2Dゲーム好きなのに、実は3Dゲームしか作ったことがない 最近触手軍団に仲間入りして、オンラインゲームを作り始めました アジャイルとかTDDとか勉強中

    カスタムメモリマネージャと高速なメモリアロケータについて
  • atpages.jp - このウェブサイトは販売用です! - atpages リソースおよび情報

  • 「ストラウストラップのプログラミング入門」を読みました

    ストラウストラップのプログラミング入門を読みました。 C++作者のストラウストラップ先生(以下、先生)の書いたです。分厚いです。写真を撮るとこんな感じです。HTCのアンドロイド端末と同じぐらいの幅です。 先生の書いたなので是非読むべきです、と言いたいところですが、この分厚さを万人には勧められません。人生の優先順位は各自それぞれだからです。全部を読めない人のために、優先的に読むべき箇所を決めるために各章の個人的主観を書きます。 用語集 の巻末1093ページから始まる用語集は立ち読みでも読む価値があります。8ページなのですぐに読めます。一例を抜粋します。 型: オブジェクトにおいて有効な値および演算を定義するもの 値: 型に基づいて解釈されるメモリ内のビットの集合 演算: 関数や演算子など、何らかのアクションを実行できるもの 関数: プログラムの別の場所から呼び出せる名前付きのコードの単

  • C++11ですみやかにプログラムの実行を終了する方法

    結論:C++11で新しく追加されたstd::quick_exitを使え。 プログラムの終了は、すみやかに行われるべきである。なにしろ、終了なのだ。終了にもたついていてはストレスがたまる。とくに、多くの実行環境では、プログラムの外部から、プログラムを強制終了させる方法がある。強制終了は大抵、プログラムの意志を無視して、強制的に一瞬で行われる。外部からできるのであれば、内部からできてしかるべきである。 なぜプログラムは終了時にもたつくのか。それは、終了時に特別な処理を必要とする場合もあろう。たとえば、数GBものデータを遅いHDDに書きださねばならない場合もあるだろう。これは妥当な理由である。では、確保したメモリやその他のリソースの解放処理はどうか。これは、疑問である。というのも、多くの近代的なOSでは、プログラムは個々に独立している。プログラムには独自の仮想メモリ空間が与えられ、必要に応じて物

  • ゲームプログラマのためのC++を読んだ - Ideals and Reality

    ゲームプログラマのためのC++ 作者: マイケル・ディックハイザー,三宅陽一郎,田中幸,ホジソンますみ,松浦悦子出版社/メーカー: SBクリエイティブ発売日: 2011/12/21メディア: 単行購入: 10人 クリック: 232回この商品を含むブログ (12件) を見る三宅陽一郎さん監修のがまたでたという事で購入。 一部の人にとっては待望のその名も「ゲームプログラマのためのC++」です。 どういうだったか紹介していきたいと思います。 入門書とEffective C++の間くらいの立ち位置の 書は所謂C++の入門書ではないことは間違いありません。 C++の構文を教えてくれるみたいなところは一切なく、様々なノウハウやテクニックを教えてくれるです。 継承の使い方、const、参照、キャスト、テンプレート、例外、RTTI、デザインパターン、STLなど扱う分野はとても広いです。 そのど

    ゲームプログラマのためのC++を読んだ - Ideals and Reality
    yokochie
    yokochie 2011/12/27
    このエントリーを読む限りではゲーム以外にも使えそう
  • Node の C++ アドオン開発で必要なこと - WebService::Blog-&gt;new( user =&gt; ’hide_o_55’ )

    この記事は JavaScript Advent Calendar 2011 (Node.js/WebSocketsコース)の8日目の記事です。 今日は、Node の C++ アドオン開発をする上で必要な心構えや Tips について書きたいと思います。 1. 情報が少なくても泣かない C++ アドオンについての公式ドキュメント に記載されているコードが以下のような同期処理のコードであるため、(おそらく殆どの人にとって)命である非同期処理の参考になりません。 #include <node.h> #include <v8.h> using namespace v8; Handle<Value> Method(const Arguments& args) { HandleScope scope; return scope.Close(String::New("world")); } void i

    Node の C++ アドオン開発で必要なこと - WebService::Blog-&gt;new( user =&gt; ’hide_o_55’ )
  • C++11時代のthreading - fjnlの生存記録のような何か

    始めに 記事は C++11 Advent Calendar 2011 : ATND の6日目です。 std::thread C++11時代のthreadの基は std::thread です。おもむろに #include をしましょう。std::threadはコンストラクタで渡された関数オブジェクトを別スレッドで実行します。 #include <iostream> #include <thread> void f() { std::cout << "f()" << std::endl; } int main() { std::thread thr(f); thr.join(); return 0; } このプログラムを実行すると f() と表示されるはずです。コンパイルして実行してみます。 $ g++ -o thr thr.cpp -std=c++0x $ ./thr f() $ 確かに

    C++11時代のthreading - fjnlの生存記録のような何か
  • Objective-C++11 - 星一のはてなブログ

    この記事は Mac Dev JP Advent Calendar の参加記事 (6 日目) です。 はじめに この記事では、 Objective-C++C++11 を使用する例について紹介します。 Objective-C++ とは Objective-C++ は、プログラミング言語 Objective-C と C++ とを多重継承したような言語です。お互いの文法がかち合わないので、混在することができます。極稀に文法がコンフリクトしますが、個人的にはそれで困ったことはありません。文法的にほぼ直交し、お互いのオブジェクトを単なるポインタ値とみなしているため、混在させることができるのです。 Objective-C と C++ の機能をオーバーラップさせるようなことはできません。例えば、 Objective-C のクラスを C++ で継承したりするようなことはできません。 Objective

    Objective-C++11 - 星一のはてなブログ
  • C++11時代におけるクラスの書き方 - イグトランスの頭の中

    記事は、C++11 Advent Calendar 2011 : ATNDの2日目の記事です。 C++のclassは様々な使い方ができます。後発のほかの言語ではいくつもの概念に分かれているものも、C++ではすべてclassということもあります。 そこで、C++でclassを定義する際も、classと一括りにせず、自分がいったいどんなclassを書こうとしているのか明確に意識するとよいのではないだろうかと考えました。そのために、私なりのclassの分類をまとめ、この記事を書くことにしました。 これは、各々のプログラミング言語の経験により違いが出ることと思います。異論もあると思いますので、ご自身でも考えてみるとよいと思います。 以下、この記事では4種類に分類しています。 1つ目は「オブジェクト指向プログラミング (OOP) を実現するクラス」です(長いので以下OOPクラスと略します)。 vi

    C++11時代におけるクラスの書き方 - イグトランスの頭の中