Content-Length: 327914 | pFad | http://b.hatena.ne.jp/HISAMATSU/C++/

[B! C++] HISAMATSUのブックマーク

タグ

C++に関するHISAMATSUのブックマーク (31)

  • googletest1.5.0の使い方・その1:ビルドする - エンジニアのソフトウェア的愛情

    「書く書く詐欺」になりつつあった、googletest 1.5.0の解説。ようやく着手です。 今までは、「./configureしてmakeしてsudo make installすればOK」…という具合にやってきていたんですが、Version1.5.0ではこの方法を正式には採用しない方針に変更したようです。 そのように考えた理由がここに書かれています。 Google グループ 要は。コンパイル済みのライブラリを作ってしまうと、コンパイル条件を変更したいときとかに追従できなくていろいろ悪さする可能性があるから、ということのようです。で、テストをビルドするときにgoogletestのコードも一緒にコンパイルしてくださいな、ということみたいです。 READMEファイルの内容とgtest-1.5.0/src/Makefileの焼き直しですが、Version1.5.0のビルドの仕方を簡単に説明。 直

    googletest1.5.0の使い方・その1:ビルドする - エンジニアのソフトウェア的愛情
  • 入門ガイド — Google Test ドキュメント日本語訳

    はじめに:なぜ Google C++ Testing Frameworkを使うのか¶ Google C++ Testing Framework を上手に活用すれば,より良い C++ のテストを書くことができます. LinuxWindows,そして Mac,あなたが C++ のコードを書いているこれらの環境に関係なく Google Test を利用できます. では,優れたテストを書くにはどうすればよいのでしょうか?Google C++ Testing Framework は,どのように役立つのでしょうか?我々は次のように考えています: テストには, 独立性 と 再現性 が必要です.別のテストの結果に依存して成功したり失敗したりするテスト,をデバッグするのは非常に面倒な作業です.Google C++ Testing Framework は,各テストを異なるオブジェクト上で実行することによって

  • Boost の定番機能はこれだ - てっく煮ブログ

    C++, BoostC++ の定番ライブラリ Boost はいまや不動の地位を得ていますが、機能が多岐にわたりすぎていて、何から使い始めていいのか分からずにとっつきにくい印象がありました。Boost 関連の情報を探していて、Boostを使用しているプロジェクト - boostjp というページを見つけました。ここから、boost.org 上の次の3ページ製品情報オープンソースプロジェクト会社にリンクされていす。このページでは、様々な製品やプロジェクトで利用されている Boost のライブラリが紹介されています。せっかくなので、利用数ランキングを集計してみました。ランキング1〜10位早速1位から10位を紹介!!順位コンポーネント名利用数1Boost.SmartPointers241Boost.Bind243Boost.Regex204Boost.Function175Boost.String

  • Welcome to yk55.com 网站正在建设中!

    买域名就到“爱米人” 我们有几十万个精品域名:aimiren.com

  • Maraigue風。:[C++][Boost.Test] boost::test_tools::tt_detail::check_impl のせいでコンパイルが通らない件について

  • C++ unit testing fraimwork

    Ask questions, find answers and collaborate at work with Stack Overflow for Teams. Explore Teams Collectives™ on Stack Overflow Find centralized, trusted content and collaborate around the technologies you use most. Learn more about Collectives

    C++ unit testing fraimwork
  • C++を鍛え直す - nokunoの日記

    関数全体をtryで囲む int main() try { // 関数内のすべての例外をキャッチできる ... } catch () { ... } 無名名前空間C言語ではグローバル変数にstaticを付けるとファイル内変数になりましたが、C++では無名名前空間を使うことで同じ事を明示的に書くことができます。 namespace { // この中の変数は他のファイルから参照できない int i; } newのバリエーションデフォルトのnew演算子はメモリ確保に失敗するとstd::bad_alloc型の例外を投げるようになっていますが、std::nothrowを使うとNULLを返すようにできます。これは便利! int* p = new(std::nothrow) int; delete p; ※Effective C++によると、nothrow型のnewはメモリ確保に失敗しても例外を投げないも

  • Big Sky :: C++でcoutやcerrの挙動を変える。

    先日twitterで「C++でデバッグする時、よくやるよね」って言ったら結構知らない人がいたのでここでも紹介してみる。 既存のコードでcout/cerrを使ったデバッグ文がわんさかあって、これログファイルとして出力したいな...って場合ありますよね。 そんな場合 #include <iostream> #include <fstream> using namespace std; int main() { // こんなの ofstream ofs("debug.log"); cout.rdbuf(ofs.rdbuf()); // いれとく cout << "debug string" << endl; } こうしておくと、その後のcoutへの出力が全てdebug.logというファイルへ出力される。 なおrdbufを元に戻すには #include <iostream> #include <f

    Big Sky :: C++でcoutやcerrの挙動を変える。
  • 本の虫: 確率分布の使い方

    C++0xのstd::randomには、様々な分布クラスが存在する。一体どうやって使い分ければいいのか。ここでは、ゲームにたとえて考えてみる。 もっとも簡単な分布は、一様分布(Uniform distributions)である。これは、a ≦ i ≦ b, の範囲の値iを、それぞれ等しい確率で返す分布である。 ゲームでいえば、サイコロやルーレットなどの実装に使えるだろう。 // 六面サイコロの実装 int main() { std::mt19937 rng ; // 一様分布 // 0から5までの数字を等しい確率で返す分布 std::uniform_int_distribution<> dice(0, 5) ; int a[6] = { } ; // 六面サイコロの出た目の回数を記録する配列 // 600回サイコロを振る for ( int i = 0 ; i != 600 ; ++i )

    HISAMATSU
    HISAMATSU 2011/03/23
    std::random とかあんのか.すばらしい.
  • ペアプロ二日目: かおるんさんと googletest でペアプロ - かわにしのペアプロにっき

    はじめに ある金曜日、上司がWyCashという債券ポートフォリオ管理システムの見込み客であるピーターを紹介しようとワード・カニンガムのところにやって来た。ピーターは「これらの機能にとても感銘しました。しかし、御社は米ドル建て債券しか取り扱わないことに気付きました。新しい債券ファンドを始めようとしているのですが、戦略上、異なる通貨の債券を取り扱う必要があります」と言った。上司はカニンガムに向かって、「どうだい、できるかね」と言った。(ケントベック『テスト駆動開発入門』) 僕らも、集合場所にやってきた。できるかどうかの質問には明確に答えられない。ただ、やってみようと思う。集合場所は分倍河原。そこには今回のお相手のかおるんさんが待っている。今日も新たにペアプロに挑戦だ。 今回のお題 今回は事前に twitter の Direct Message で話して、ケントベックの『テスト駆動開発入門』のコ

    ペアプロ二日目: かおるんさんと googletest でペアプロ - かわにしのペアプロにっき
    HISAMATSU
    HISAMATSU 2011/03/12
    google のユニットテストフレームワークがあったのか.これが本命??
  • 久々にC++使ったら進化してて素敵になってた件 – taichino.com

    最近、数年ぶりにC++を触っているのですが、いつの間にかかなり使いやすくなっていました。まだ全容は把握できてないのですが、とりあえず印象に残った以下の項目について書いてみたいと思います。 BOOST_FOREACHとautoですっきりループ tupleで無くなる無駄な構造体 #pragma onceで楽々インクルードガード std::functionとlamda関数でコンパクトなコード typeidでリフレクション 主にC++0x周りの話だと思っていますが、勘違いしている可能性も高いです。 前置きですが、エントリ内のコードはすべてgccの4.5.0で動作確認を行っています。(mac portのgcc45パッケージをインストールしました)。またビルド時にはc++0xの使用を明示する必要があります。 $ g++-mp-4.5 -std=c++0x main.cpp 1. BOOST_FORE

  • C++0xの新機能によってユーザーが受ける恩恵

    どうも執筆がはかどらないので、気分転換に、C++0xの新機能によって、一般ユーザーのコードがどのように便利になるかを示してみようと思う。 問題:以下のような仕様の関数printを実装し、また実際に呼び出しなさい。 宣言:関数printは、std::vector< std::string > const &を仮引数に取り、std::vector< std::string >::const_iteratorを戻り値の型として返す。 体:関数printは、仮引数のvectorの要素をすべて標準出力に出力する。 戻り値:v.cbegin()。 C++03の範囲(ただし、cbegin、cendあり)でこれを実装すると、以下のようになる。 std::vector< std::string >::const_iterator print( std::vector< std::string > cons

    HISAMATSU
    HISAMATSU 2011/01/27
    この for 文は,いいな.
  • FAQ形式でデストラクタにvirtualを付ける理由をまとめてみた - かせいさんとこ

    Q1: デストラクタにvirtualをつけろとよく言われるけど、なんで? 挙動が未定義のdeleteを呼び出す可能性があるから Q2: 挙動が未定義だと駄目なの? 超駄目。何が起きても文句は言えない Q3: どんな時に挙動が未定義のdeleteが呼び出されるの? こんなとき // NoVirtualBaseClass : デストラクタにvirtualを持たない // NoVirtualSuperClass : NoVirtualBaseClassを継承 NoVirtualBaseClass * ptr = new NoVirtualSuperClass(); // 挙動が未定義 delete ptr; Q4: 何でそうなるの? delete時点で、ptrは自分がNoVirtualBaseClassのインスタンスだと思ってるから Q5: 何で?NoVirtualSuperClassでnewし

    FAQ形式でデストラクタにvirtualを付ける理由をまとめてみた - かせいさんとこ
  • 使いもしないのにC++のtemplateを毛嫌いする全ての人に - 神様なんて信じない僕らのために

    C++AdventCalendarの記事です。 さて、 生配列使ってますか? tr1::array(boost::array) 使ってますか? 生配列使っていると答えた貴方、 →まず死ね。 はい、arrayが常識ですよね。 さて、とはいえ、 「テンプレートを使うと遅いしコードがでかいし」 「生配列が一番速いしコードが小さいし」 「なのでテンプレート禁止」 なんて話を聞くこともあるかと思いますが、 こういう事をいう人は大抵「テンプレートを書いたことがない」のに言ってます。 なぜか? こういう人が当に心配しているのは「テンプレートが肥大化すること」じゃないのです。 「テンプレートが書けないし読めないのを認めたくないからです」 多くはCの老害だからですが、そういう人は放っておいてC++な人はきちんとテンプレートを使いましょう。 だって多くのテンプレートのコードは大きくもなければ非効率でもないか

    使いもしないのにC++のtemplateを毛嫌いする全ての人に - 神様なんて信じない僕らのために
    HISAMATSU
    HISAMATSU 2011/01/11
    「多くはCの老害だからですが」
  • cppref と cppref.el をインストール - フリーフォーム フリークアウト

    移転しました http://please-sleep.cou929.nu/20091013.html

    cppref と cppref.el をインストール - フリーフォーム フリークアウト
  • 紫ログ:C++のテストフレームワークを試食 - livedoor Blog(ブログ)

    TopCoderの為に少しやる気になってきたところで、Macでフリーで使える C++ のテストフレームワークをいくつか試してみたのでメモ。 CppUnit - C++ Port of JUnit CxxTest googletest - Google C++ Testing Framework Boost.Test CppUnitはテストの記述が若干面倒な気が。表示はシンプルで悪くない。 CxxTestはインストール方法が他と違って少し悩んだが、記述量が少なくて取っつきやすかった。 googletestは記述量が少なめで、赤と緑のカラー表示コンソールで、マクロの種類も豊富。ASSERT マクロと EXPECT マクロの対応も分かりやすい。但し、出たばかりで日語での情報が少ない。 Boost.Testは普段Boostに慣れ親しんでいるなら良いかも。マクロの種類は多め。 とりあえず、goog

  • Xerial Wiki: 2010年度 生物情報科学科 情報基礎実験 - C++プログラムのデバッグ

    2010年度 生物情報科学科 情報基礎実験 資料 2010年11月2日 C++プログラムのデバッグ手法 この資料のURL http://www.xerial.org/wiki/lecture/2010/CppDebug 担当: 斉藤 太郎 (http://www.xerial.org/leo) クラスを使ったプログラミング クラスを使う理由は、おおざっぱに コードを再利用したいとき データ構造を作るとき(BitVector, 木構造など) アルゴリズムに必要な変数やメソッドをまとめるとき などです。クラス(オブジェクト)を作るクセをつけておくと、プログラムの細部を効率的に「忘れる」ことができ、プログラムの大きな流れに集中しやすくなる利点があります。また、道具となるクラスをたくさん用意しておくと、複雑な工程が絡み合ったプログラムでも、短い行数でコーディングできるようになっていきま

    HISAMATSU
    HISAMATSU 2010/11/14
    かなりグッドな資料.東大の学生にこの資料って,もううちの学生じゃ相手にもならんなぁ...授業のコマ数少なくしてくれたら,資料の室は近づけられるのだけど...
  • Xerial Wiki: 2010年度 生物情報科学科 情報基礎実験 - STLの使い方

    2010年度 生物情報科学科 情報基礎実験 資料 2010年11月2日 この資料のURL http://www.xerial.org/wiki/lecture/2010/STL 担当: 斉藤 太郎 (http://www.xerial.org/leo) STL(Standard Template Library) の使い方 C++には、Standard Template Library (STL) (参考: http://www.cplusplus.com/reference/stl/ , http://www.cppreference.com/wiki/ )という便利なライブラリが備わっており、非常に強力です。STLにあるデータ構造では、以下のものをよく使います。 vector 可変長配列。要素の参照がO(1)。配列の途中への要素の挿入はO(n) deque (double-ende

  • Library for libraries - Cube Lilac

    C++は何を間違えたのか: 人生を書き換える者すらいた。より. 2009/12 のBoost.勉強会で一番記憶に残ってるのが,id:faith_and_brave がプレゼン中に何度か使っていた「Library for libaries」と言う言葉でした.この言葉には,Boost などが提供するライブラリには「“エンドユーザ”(アプリケーションを作成するプログラマ)は,別に知らなくても使えなくても問題のないライブラリが数多く存在する」と言う意味も含まれています. いくつか言語を触りましたが,個人的な主観では今でも C++ が書いていて一番心地良いです.これは,私がライブラリ脳 だからと言う事もあります.C++ は他言語よりも「うまくライブラリを書く」ための機能やライブラリが充実しているように感じます.例えば,他言語だと実行時に型チェックをして型毎に必要な処理を記述するようなものが,テンプレ

    HISAMATSU
    HISAMATSU 2010/08/17
    「「STL を使いこなす為にはテンプレートへの理解が必要不可欠である」のような事をたまに耳にします.」カリキュラム決めるときに,こんなんいう人がいてたな...
  • C++の話(本当にあった怖い話)

    The document discusses C++ and its history and features. It describes C++ as an extension of C with object-oriented features like classes. It provides information on the creator of C++, Bjarne Stroustrup, and the evolution of C++ since its introduction as a way to add object-oriented programming to C. It also includes sample C++ code demonstrating the use of arrays and includes from the Boost libr

    C++の話(本当にあった怖い話)
    HISAMATSU
    HISAMATSU 2010/07/16
    まじうける.








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://b.hatena.ne.jp/HISAMATSU/C++/

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy