タグ

c++に関するnharukiのブックマーク (198)

  • Boost のファイルのうち必要なものだけを抜き出す - Cry’s Diary

    以下,BOOST_ROOT を Boost のディレクトリのルートとする. 今,BOOST_ROOT にいるとする.コマンドライン上で tools/bcp へ移動して bjam でビルド. >cd tools >cd bcp >bjam (オプションは Boost のライブラリのビルドと一緒)この時点で BOOST_ROOT の下に dist というディレクトリができてその中に bcp という実行ファイルができている.それにパスを通す. で,例えば以下のような内容の C++ ソースを作成. #include <boost/shared_ptr.hpp>これを bcp_test.cpp としてカレントに保存.target_dir というディレクトリを作成.以下のコマンドを入力. >bcp --scan --boost=BOOST_ROOT bcp_test.cpp target_dirtar

    Boost のファイルのうち必要なものだけを抜き出す - Cry’s Diary
  • CrystaX

    How to build You can also build your own distribution if you don't want to use my prebuilt versions. To do it, follow instructions below. Required development tools: For Windows, a recent release of Cygwin is required GNU Make 3.81 or later GNU Makeinfo (most recent version) GIT (for downloading toolchain sources) Most recent GNU Libtool packages (automake, autoconf etc) GNU C/C++ 3.x or later (fo

    nharuki
    nharuki 2010/09/11
    NDKr4対応CrystaX
  • MessagePack: It's like JSON. but fast and small.

    It's like JSON. but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. Next: MessagePack is supported by over 50 programming languages and environm

  • shared_ptrによるObserverパターンの実装

    WindowsをはじめとするGUIの普及によるものか、Observerパターンは数あるデザインパターンの中でも適用頻度の高いものの一つです。GUIアプリケーションではキー入力やボタンクリックといったイベントを受理したときの処理(イベントハンドラ)を定義し、イベントとイベントハンドラとの対応付けを行っておきます。そうすることでイベントに応じた処理、すなわち「イベントに反応する」ことができます。イベントとイベントハンドラとの対応付けに用いられているのがObserverパターンというわけ。 step-1: SubjectとObserver Observerパターンでは2つのクラス、SubjectとObserverが関与します。Subjectはイベントの発行元、Observerがイベントに反応するハンドラの基底クラスとなります。Observerにはあらかじめ、イベントに反応して呼び出されるメソッド

    shared_ptrによるObserverパターンの実装
    nharuki
    nharuki 2010/08/30
    わんくまの復習も兼ねて
  • Afternotes | C++ Templates: Metaprograms | InformIT

    nharuki
    nharuki 2010/08/30
    Erwin Unruhが書いた世界初のTemplate Metaprogramコード
  • C++の便利ツール・ライブラリ - DO++

    フルタイムで働きはじめて4ヶ月。 いろんなことがありました。 今日はインターンが来ているということもあり日頃のC++コーディングライフの中で大変重用しているツールを紹介します。といってもどれも有名なツールでググれば解説がでてくるとは思いますので、一言ずつだけ紹介してみます。みなさんも何かよさげなライブラリ・ツールがありましたら教えてください。 - valgrind/callgrind/cachegrind プログラムの実行結果を解析するツール群。まぁ、王道であえて紹介する必要はないかもしいませんが.。valgrindはプログラムのどこかでメモリが漏れているかどうかのチェックに使います.コードのどの部分で確保した領域がどこで漏れているかまで追跡することができます valgrind --leak-check=full command プログラムのどのが計算量的にボトルネックになっているかを調べ

    C++の便利ツール・ライブラリ - DO++
  • boostjp - Google Groups

    to : boostjp Google Groupに参加している方へ 高橋晶です。 この度、cpprefjpとboostjpの両サイトを、Google SitesからGitHub Pagesへ移行する

  • 予約名

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Robert Schmidt Microsoft Corporation 2000 年 4 月 20 日 名前の衝突というのは、プログラミングをしていれば必ずぶつかる現実です。自分が使おうとした名前が、ほかのところ、つまり同じプロジェクトの仲間、windows.h、標準ライブラリなどによって、まったく異なる目的のためにすでに使われていたというのは、プログラマならだれでもいつか必ず経験することです。その場合、名前を再定義するか、そのまま借用することになります。この問題は、コンパイル時のエラーですぐわかる場合もあれば、原因不明のビルド エラーや厄介なプログラム バグに至るまで、ありとあらゆる結果となって現れます。

    予約名
    nharuki
    nharuki 2010/08/20
    "予約名の形式":C90/C99とC++でアンダースコアを含む予約名の扱いの違い
  • 日本で一番分かりやすく書いたつもりのExpression Templateの説明 - Cry's Blog

    語でのExpression Template(式テンプレート,以下ETと略)の説明で分かりやすいものがなさそうなので思い切って自分が書いてみることにします.もし,まずい説明があれば容赦ないツッコミをお願いいたします. 今日は取り合えず,ETが必要とされる状況の一つとして,数値計算を取り上げてETが必要とされる状況を明らかにしたいと思います.

    日本で一番分かりやすく書いたつもりのExpression Templateの説明 - Cry's Blog
    nharuki
    nharuki 2010/08/20
    "日本で一番分かりやすく書いたつもりのExpression Templateの説明"
  • 「pimpl」のすゝめ

    @SubaruG センセが pimpl についてわかりやすくつぶやいていたのでまとめました。C++ ならでは(?)の解説ですね。

    「pimpl」のすゝめ
    nharuki
    nharuki 2010/08/19
  • 原文Bjarne Stroustrupへのインタビュー

    新しいプログラミング雑誌、プログラミングの魔導書 vol.1では、C++の設計者にして最初の実装者であるBjarne Stroustrupへインタビューを行った。インタビューは、英語が使われた。その英語は、日語に翻訳されて、雑誌に載せ、すでに発行されている。 しかし、翻訳というものを信用していない人もいるだろう。第一、ほかならぬ私自身でさえ、翻訳は嫌いなのだ。このたび、Bjarne Stroustrupが、自信のWebサイトで、原文を公開した。以下で落として読むことができる。 Stroustrup: Interviews Interview by Royo Ezoe C++0x from now to the release of the Standard for a new Japanese mazagine called Programmers' Grimoire. April 20

    nharuki
    nharuki 2010/08/17
    実に耳が痛い内容です…
  • akatukisidenのメモ帳 : constの使い方。 関数・メンバ関数編

    2009年07月27日20:01 カテゴリC/C++ constの使い方。 関数・メンバ関数編 「Effective C++ 第3版 第3項 可能ならいつでもconstを使おう」より class CTest { private: int mNum; public: CTest(const int num); virtual ~CTest(); void SetNum(const int a); //仮引数がconst int GetNum() const; //メンバ関数がconst メンバ変数を変更しない //非組み込み型変数を返す関数 const CTest GetConstThis(); //constを返す CTest GetThis(); //const無しを返す //参照返し、及び関数のオーバーライド const int& GetRefOfNum() const; //cons

  • akatukisidenのメモ帳 : constの使い方。 変数・ポインタ・参照編

    2009年07月24日17:26 カテゴリC/C++ constの使い方。 変数・ポインタ・参照編 「Effective C++ 第3版 第3項 可能ならいつでもconstを使おう」より int a; //変数 const int b=0; //定数 const int* c; //定数へのポインタ int* const d=NULL; //ポインタ定数 (定数ポインタ) const int* const e=NULL; //定数へのポインタ定数 int &f = a; //参照(リファレンス) const int &g = a; //const参照 ※定数、ポインタ定数、定数へのポインタ定数、 参照、const参照は初期化が必要変数 変数の値を変更できる。 int a = 0; //変数の宣言 a=1; //OK定数 変数の値を変更できない const int b=0; //定数の宣言

  • お前にSunが救えるか?

    お前にSunが救えるか? Oracle、「分からぬ、だが特許ゴロにはなれる」 Oracle(Sun Microsystemsを買収)は何がしたいんだろう。結局、Sunの実装がAndroidに勝てなかったというだけじゃないか。自分の粗悪な製品を棚にあげて、特許訴訟を起こす。愚かなことこれに過ぎたるはない。旧Sunの社員の多くがGoogleに引きぬかれていったのも、当然というわけだ。 ともかく、これで、Oracleはモバイル市場を完全に敵に回したわけだ。もう立つ瀬はない。 しかし、Javaはよく分からない。Microsoftが独自のJavaVMを開発したとき、Sunは訴訟を起こした。そこでMSは、独自のJavaVMを取り下げた。結局MSは、Javaが占めるべきだった場所の大半を、C#に置き換えてしまった。Sunが馬鹿なことをしたせいで、来労せずして得べかりしユーザーを失ったわけだ。今回も

    nharuki
    nharuki 2010/08/16
    "C++の標準化の際には、この問題を避けることに多大な努力を払った。もし当時、AT&TやBjarne Stroustrupなどが、C++の権利を主張していたら、今日のC++の興隆はなかっただろう"
  • STL Error Decryptor for C++

    STLFilt: An STL Error Message Decryptor for C++ Open Source Freeware by Leor Zolman, Supporting: Comeau C++ gcc 2.95.x/3.x/4.x (Dev-C++ compatible) MSVC++ 6/7/8/9 (incl. Dinkum Libraries) Metrowerks CodeWarrior Pro 7/8 Borland C++ / C++Builder Intel C++ 7/8 EDG Front End (Generic) Digital Mars C++ Please Note: Active Development on STLFilt has ended. The author sincerely hopes the C++ Standards Co

    nharuki
    nharuki 2010/08/12
    STLのコンパイルエラーを簡潔にしてくれるフィルタツール。かなり便利!
  • STL - 自分用メモとか

    標準入出力ストリーム † C++ のiostreamと、C言語のstdio.hとを同時に使わざるを得ない場合には、 main関数の最初の部分に(実際に入出力処理を行うより前に)以下のコードを記述します。 この記述がないと、プログラムが正しく動作しない可能性があります。 次のインスタンスが、グローバル変数として(ただし、std名前空間の中にある)、あらかじめ定義されています。 cin 標準入力用のistream 定義済みインスタンス cout 標準出力用のostream 定義済みインスタンス cerr 標準エラー出力用のostream 定義済みインスタンス clog 標準ログ出力用のostream 定義済みインスタンス 入力演算子 >> , 出力演算子 << は、標準的な型についてはすべてオーバーロードされているので、 int, double, char, string 等、どの型でも

  • C++クラス設計に関するノート

    C++が他のオブジェクト指向言語と比べて難しいのは、やはりメモリ管理をプログラマが自分でしなければいけない点だと思います。よくよく注意しないと、削除し忘れたり、同じオブジェクトを2度削除してしまうというエラーが発生します。このノートでは、オブジェクトを「値オブジェクト」と「参照オブジェクト」というカテゴリに分け、詳細設計の段階で注意すべき点を整理しておきたいと思います。 0. はじめに 私自身今までいくつかのプログラミング言語を使ってきましたが、C++ が他のオブジェクト指向言語と比べて難しいのは、やはりメモリ管理をプログラマが自分でしなければいけない点だと思います。例えば、 Person* person = new Person(); と生成したオブジェクトは、使い終わったら次のように削除しなければなりません。 delete person; 生成してすぐ削除するなら簡単なのですが、実際に

    C++クラス設計に関するノート
  • http://atnd.org/events/7148

  • constメンバ関数は重要 - Faith and Brave - C++で遊ぼう

    私は基的に、C++でソース書くときはやたらめったらconst付けます。 なぜならHaskellが好きだからです(ぇ じゃなくて、状態の変更によるバグを減らすためです。 しかし、他人が書いたソースを見てると、オブジェクトのconst操作を考えて設計されてないことが けっこうあり、Is〜とかGet〜といった名前の関数の中でメンバの状態を変更してたりします。 これはとくに、JavaやC#のようなconstメンバ関数がない言語からC++に移植するようなときに 起こりやすいのですが、C++でもconstメンバ関数の存在を知ってか知らずかconstが付いてないことが多々あります。 書籍でいうと、『Game Programming Gems』では明らかにconst操作なメンバ関数にconst付いてないですね。 C++で大きなプログラムを組む際は、元となるコード(移植元やライブラリ)がオブジェクトのco

    constメンバ関数は重要 - Faith and Brave - C++で遊ぼう
    nharuki
    nharuki 2010/08/09
    constなメンバ関数にちゃんとconst表記してあるかが「C++の良書」を見分ける基準になるというライフ ハック
  • 「薄暮の軍団」

    🌸桜花🌸 @rofi Boostの勉強会とかあればいいのにと思ったけど、普通にBoost勉強会があった。  しかし、自分はBoost勉強会以前の問題なので、もっと緩いBoostの勉強的なTLの流れがあればいいのに・・・ 2010-05-30 23:18:53

    「薄暮の軍団」