タグ

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

  • 雑貨's tumblr - C++ の例外ハンドリングとパフォーマンス

    C++ の例外ハンドリングとパフォーマンス source: C++ Exception Handling and Performance | Vlad Lazarenko’s Homepage 1 序論 2 例外の使用 3 容易さ 対 速度 4 内部検査 4.1 アセンブラコードの探求 4.2 Jumping exceptions 5 どちらの例外メカニズムが利用されているかを調べる方法 6 その他のパフォーマンスについての考察 7 まとめ 8 参考文献 1 序論 例外とはプログラム実行の通常のフローではない特殊な状態に応答するための方法を提供するものである。 例外ハンドリングは通常、プログラミング言語の設計、コンピュータのハードウェアメカニズムのいずれか、もしくは両方に影響を受ける。 C++の例外メカニズムを利用することでどれほどパフォーマンスに影響を受けるか憂慮する

    nharuki
    nharuki 2014/06/24
  • How to call erase with a reverse iterator

    I am trying to do something like this: for ( std::list< Cursor::Enum >::reverse_iterator i = m_CursorStack.rbegin(); i != m_CursorStack.rend(); ++i ) { if ( *i == pCursor ) { m_CursorStack.erase( i ); break; } } However erase takes an iterator and not a reverse iterator. is there a way to convert a reverse iterator to a regular iterator or another way to remove this element from the list?

    How to call erase with a reverse iterator
    nharuki
    nharuki 2014/04/25
    ループ内でreverse_iteratorを消去しながら前進させる方法
  • C++テンプレートテクニック 第2版 を出します - Faith and Brave - C++で遊ぼう

    2009年に出版した書籍『C++テンプレートテクニック』の第2版を出版します。 C++テンプレートテクニック 第2版 - Amazon.co.jp C++テンプレートテクニック 第2版 - SBクリエイティブ 発売日は、2014年4月17日(木)です。 C++テンプレートテクニック 書は、プログラミング言語C++のテンプレート機能に関する技法を解説したです。 プログラムをより汎用的にしていくにあたって起きる、様々な問題への解法を提供します。 第2版の更新内容 第2版の主な更新は、C++11への対応です。C++11に追加された機能を使用した各種技法を掲載しています。C++03の技法で今もなお有用なものは残してあります。 第2版では、以下のような変更を行いました: 第1版の章「Extension Member Function」および「C++0xにおけるテンプレート」を削除 新章「コンセプ

    C++テンプレートテクニック 第2版 を出します - Faith and Brave - C++で遊ぼう
    nharuki
    nharuki 2014/03/27
    ノータイムでAmazon直行
  • Coverity Scan - Static Analysis

    Find and fix defects in your Java, C/C++, C#, JavaScript, Ruby, or Python open source project for free Test every line of code and potential execution path. The root cause of each defect is clearly explained, making it easy to fix bugs Integrated with

    nharuki
    nharuki 2014/02/05
    Coverity提供のクラウドベースのオープンソース静的解析サービス
  • NS Blog - development blog

    JavaScript (not to be confused with Java) is a flexibleContinue readingJavaScript case Go (often also Golang) is a compiled, multithreaded programming language developed internally by Google. The Go language was designed to create highly efficient programs that run on modern distributed systems and multi-core processors. Go is a strongly statically typed language. Has a fairly concise and simple s

    nharuki
    nharuki 2014/01/29
    定義済みマクロによるプラットフォームの判別方法いろいろ
  • スレッドセーフという幻想と現実 - 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の日記(別館)
  • ODB - C++ Object-Relational Mapping (ORM)

    RSS | E-mail News ODB 2.5.0-b.25 available 2023-07-31 ODB 2.5.0-b.23 available 2022-08-02 ODB 2.5.0-b.21 available 2021-10-27 ODB 2.5.0 beta available 2019-03-19 ODB 2.4.0 for RHEL, Fedora 2015-07-03 ODB in Debian 2015-06-16 ODB 2.4.0 released 2015-02-11 RHEL, Fedora packages available 2014-02-26 libodb-qt 2.3.1 released 2014-02-03 libodb-pgsql 2.3.1 released 2013-12-06 ODB 2.3.0 released 2013-10-

    nharuki
    nharuki 2013/11/08
  • C++で作るWebアプリケーション

    14 views Boost.勉強会 #12で発表した「C++で作るWebアプリケーション」 ... More… Boost.勉強会 #12で発表した「C++で作るWebアプリケーション」 C++JavaScriptにコンパイルするコンパイラ Emscriptenを使ってC++でブラウザ上で動くアプリケーションを開発する方法を解説します C++で作るWebアプリケーション Presentation Transcript そんなC++の進出を拒んできた領域C++はとてつもなく汎用的な言語である2013年6月22日土曜日 WEB2013年6月22日土曜日 サーバ クライアントこっちは割とどんな言語でも書ける問題はこっち2013年6月22日土曜日 JavaScriptWEBブラウザで動く物を作るために長らく使われてきた言語近代的な多くのブラウザが共通して対応している唯一の言語2013年6月22

    nharuki
    nharuki 2013/07/07
    サーバサイドのC++でアプリケーションサーバ的な話と思いきやクライアントサイドの話
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    nharuki
    nharuki 2013/06/20
  • さき的視点:iPhone でナノ秒単位の時間を扱う - livedoor Blog(ブログ)

    iPhone 高精度タイマー」というキーワードで検索してみたところ、なぜか NSTimeInterval が出てきて「それは違うだろ!」と思ったので、今日は iPhone の高精度タイマーについて書いてみたいと思います(笑) ミリ秒よりずっと細かい、マイクロ秒とかナノ秒の話です。 iOS でナノ秒単位の細かい時間を取得するには mach_absolute_time 関数を利用します。mach_absolute_time 関数は mach/mach_time.h に定義されています。 #import <mach/mach_time.h> 単純に mach_absolute_time() を呼びだすとカーネルの絶対時間を取得することができます。例えば以下のようなコードを書くとループを100回まわして NOP 命令を実行した場合の時間を取得できます。 uint64_t start, e

    nharuki
    nharuki 2013/01/07
    iOS/MacOS用のオレオレmonotonic_clock(i.e. steady_clock)を構築する際に参照
  • boost Asio 概要

    Boost.Asio概要 翻訳は自分の勉強のために行います.とりあえず意味がわかればいいやという感じで進めます.訳せないところは飛ばします. そういった意味で不正確な訳なことをご了承下さい. http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/overview.html 1. Boost.Asioの原理原則 大部分のプログラムは、外の世界と何らかの方法でやりとりをします。それは、ファイルを通じて、ネットワークを通じて、シリアルケーブルを通じて、もしくは、コンソールを通じて、です。しばしば、ネットワークの場合、I/O命令の完了までに長い時間がかかる場合があります。これは、アプリケーションの開発者にとって、とりわけ挑戦となります。 Boost.Asioはこれらの長い実行時間のかかる操作を扱います。スレッドや明示的なロックなしにです

  • Boost.Asioまとめ(1)::io_service - yutopp's blog

    Boost Advent Calndar 2011に恐縮ですが参加させて頂きました。15日目です。 最初はBoost.Asioについてまとめるぞーと意気込んでいたものの変に長くなってしまったのでBoost.Asioの中のio_serviceに絞ったためこんなタイトルに成り申した。 Boost.Asioとは 主にネットワークのI/Oのような時間のかかってしまう処理を非同期的かつ簡潔に扱えるようにした便利なライブラリです。 ネットワークを中心に、シリアルポート、タイマー、シグナルのハンドリングなども扱えます。 と、いうわけでio_serviceです。 Windows環境にてVC++10、Boost1.48.0を用いています。 io_service 全てはこのクラスに始まり、このクラスに終わります。 各OSの提供するI/O制御への橋渡しをしてくれるもので、Asioの提供するIOサービス(dead

    Boost.Asioまとめ(1)::io_service - yutopp's blog
  • Standard C++

    C++ (on Sea) Online February 7-9 ISO C++ committee meeting March 18-23, Tokyo, Japan ACCU 2024 April 17-20, Bristol, UK using std::cpp 2024 April 25-26, Leganes, Spain C++ Now 2024 May 7-12, Aspen, CO, USA ISO C++ committee meeting June 24-29, St. Louis, MO, USA C++ on Sea July 2-5, Folkestone, Kent, UK Follow All PostsAll Posts RSS The home of Standard C++ on the web — news, status and discussion

    nharuki
    nharuki 2012/11/12
    C++規格策定者たちによるポータルサイト
  • shared_ptr相互乗り入れ - yohhoyの日記

    C++11標準ライブラリとBoost.Smart_Pointersライブラリでそれぞれ提供される共有ポインタshared_ptrクラステンプレートの相互運用に関するメモ。記事の内容はStack Overflowで見つけた質問と回答内容に基づく。 注意:あくまで “技術的に相互運用が可能であること” を示すだけで、実行時効率や保守性の観点からは片方で統一するのが望ましい。 #include <memory> #include <boost/shared_ptr.hpp> // boost::shared_ptr → std::shared_ptr template<typename T> boost::shared_ptr<T> make_shared_ptr(const std::shared_ptr<T>& ptr) { return boost::shared_ptr<T>(ptr.

    shared_ptr相互乗り入れ - yohhoyの日記
    nharuki
    nharuki 2012/10/22
    カスタムデリータに自身のコピーを持たせて参照カウンタをロックしているのは面白いトリックだなー
  • 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の挙動を変える。
    nharuki
    nharuki 2012/10/02
  • いそのーBoostビルドしようぜー - yutopp's blog

    (2011/12/26現在のNDKはr7、boostは1.48.0です。また開発環境はWindows機、AndroidAPIレベルは8としています。) C++を使ってでのAndroidのアプリの開発はGoogleの配布しているNative Development Kitを用いることで難なく行うことができますが、含まれているgccのバージョンが4.4.3であるため中々ヒャッハーすることができませんでした。 という訳でCrystaX .NETにて配布されているカスタマイズされたNDKを使い、ついでにboostもビルドして使ってみたのでメモっておきます。NDKについても初心者なので間違ったこと書いている可能性大です>< はじめに NDKでもBoost使いたいってメモなので、CygwinやAndroid SDK、Eclipseなどの環境は既に整えられているものとします。(ちなみに私はEclipse

  • Stroustrup11章雑感

    nharuki
    nharuki 2012/05/31
    出力結果サンプル付きIOマニピュレータの解説
  • Flavor Main Page

    nharuki
    nharuki 2011/12/09
    Bitstream Syntax類似の構造定義からストリームパーサを生成するツール
  • 長らくお待たせいたしました

    目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1078 記事 - 2 コメント - 23095 トラックバック - 363 ニュース 著作とお薦めの品々は 著作とお薦めの品々は 東方熱帯林へ。 わんくま 東京勉強会#2 C++/CLI カクテル・レシピ 東京勉強会#3 template vs. generics 大阪勉強会#6 C++むかしばなし 東京勉強会#7 C++むかしばなし 東京勉強会#8 STL/CLRによるGeneric Programming TechEd 2007 @YOKOHAMA C++C++/CLI・C# 適材適所 東京勉強会#14 Making of BOF 東京勉強会#15 状態遷移 名古屋勉強会#2 WinUnit - お気楽お手軽UnitTest CodeZine Cで実現する「ぷちオブジェクト指向」 CUnitによるテスト駆

    nharuki
    nharuki 2011/07/14
    買いたい!
  • C++の文法が複雑過ぎると話題に(俺の中で) | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー C++の言語仕様を個別に関連づけながら図にしたのを見つけたんだけど,これがすごい。George Mason大学のSeal Lukeさんいわく「正しくかつ完璧なC++パーサーを作るのは数学的に不可能」なのだそうで,さもありなんと頷ける。 余りに巨大なので縮小してる。クリックで元画像を開きます。 同じようにして作ったC言語の文法図はこんなかんじ。 C++を華麗に使いこなせるのは,Googlerみたいに頭のよい人だけなのかも...。

    nharuki
    nharuki 2011/07/11
    「正しくかつ完璧なC++パーサーを作るのは数学的に不可能」・・・へー!