EASTLをVisual Studioで使える状態に持って行く話です。急いで書いたので、文章がいつもに増して荒っぽいですがお許しください。 EASTL単体は、githubのpaulhodge/EASTLで公開されています。しかし、これにはMakefileも何もありませんのでちょっと困ります。 そこで、forkを見てみると、CMake用のファイルを追加しているものを見つけました: take-cheeze/EASTL。CMakeを使えばVisual Studioソリューションも簡単に生成できるに違いないということで、今回はこちらを使うことにします。CMakeについては特に解説しませんので、興味ある方は各自調べてください。 git cloneしてもよいのですが、今回はとりあえずアーカイブの形でダウンロードしました。Downloadsをクリックすると、tar.gzまたはzipでダウンロードできます
Back in May I hinted that I was working on a unit testing framework for C++. Since then I've incorporated the technique that Kevlin Henney proposed and a whole lot more. I think it's about time I introduced it to the world: [Update] This post is very old now, but is still the first point of contact with Catch for many people. Most of the material here still applies in concept, so is worth reading
Scott Meyers氏によるEffective C++11ネタ集を見つけたのでInitial Thoughts on Effective C++11より抄訳。 2014-03-23追記:本記事の内容はBook Report: New Title, New TOC, New Sample Itemにてアップデートされている。(2013-03-25 Effective C++11: Content and Status) 2013-04-18追記:並行/並列関連だけ詳細化された姉妹版→Effective C++11/Concurrency関連の目次草案 明示的な型宣言よりもautoを使おう オブジェクトの生成では () と {} を区別しよう ただしauto + { expr } == std::initializer_listは忘れずに(auto x{1};/auto x={1};ではs
Stephan T. Lavavej のRvalue References: C++0x Features in VC10, Part 2の適当な訳です。左辺値と右辺値、無駄なテンポラリが生成される問題、新たな参照「右辺値参照」の特徴と使い方、ムーブセマンティクスの意味と使い方、完全転送パターンの書き方、それらを可能にする仕組みと、これに関する C++0x の新たな文法ルールについて書かれています。 特に前半は、この手の記事としてはこれまでで一番分かりやすく丁寧に解説されていると思います。正直よく分かっていなかったんですけど、これを読んでだいぶスッキリしました。 で、ムーブセマンティクスによるテンポラリの除去が日用品のように使えるようになれば、Linus や Linux カーネル開発者たちが「C++なんてクソ言語は使えねぇ!」と主張する(正当な)理由の一つを崩すことができますね。これを機会
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 ソフト開発の技術書には、パフォーマンス最適化について書かれているものも多いですが、そこで必ずと言っていいくらいに述べられているのが、「コードを書く時点から最適化をしない」「手を加える前にまずパフォーマンスを測定せよ」ということです。 「プログラムの処理にかかる時間の80%はコード全体の20%の部分が占める」という、いわゆるパレートの法則に則り、まず測定によってプログラムの実行時間の大半を占めるわずかな部分のコードを割り出して、そこを集中的に改善しましょう、というのが定説です。 コードの測定には通常、プロファイラと呼ばれるツールを使います。 プロファイラは、どの関数がどのくらいの時間実行されていたか、何回呼び出されたかなどの方法を収集して解析し、ボトルネックとなっている部分を探すこ
1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 These are all of the papers currently available online. If you've written papers that are not available here, and would like to donate them to the collection, or if you have HTML versions of any of these papers get in to
ISO/IEC TR 18015:2006(E) 2006-02-15 Information Technology — Programming languages, their environments and system software interfaces Technical Report on C++ Performance Technical Report on C++ Performance ISO/IEC TR 18015:2006(E) Page 2 of 202 © ISO/IEC 2006 — All rights reserved Contents Contents ......................................................................................2 Foreword ...
「Kyoto Tycoonの設計 その四」改め、50行でWebサーバを書く方法を解説する。前回実装した「多重I/Oマルチスレッド汎用TCPサーバ」の上にHTTPの処理を行う層をつけて、「多重I/Oマルチスレッド汎用HTTPサーバ」を司るクラスを実装してみたので、それを使ってちょちょいとやる。 URLクラス HTTPと言えばURLが使えないと意味がない。URLは単なる文字列として扱ってもよいのだが、様々なシーンで分解や加工が必要になり、その処理はなにげに複雑で面倒なので、予めクラスとして導出しておいた方がよいだろう。 class URL { public: // 文字列のURLを解析して内部構造を作る void set_expression(const std::string& expr); // スキーム要素を設定する void set_scheme(const std::string&
Object.entries() - JavaScript | MDN Object.entries は、オブジェクトに含まれる key と value の組み合わせを配列にして返してくれる関数で、 Javascript でコードを書いてるとお世話になることも多いと思います。 しかし、これを Typescript で使おうとすると、型が微妙になってしまうという問題点があります: type Hoge = { a: string; b: number; }; function f(x: Hoge) { const entries = Object.entries(x); // entries の型は [string, string | number][] for (const [key, value] of entries) { // 処理 } } これを解決するために、以下のような手法を使う
とりあえず、ざっくりとだけ。 資料とかはあとで追加しまする。 boostjp でのまとめはこちらへ。 Boost.勉強会#4 Video Arichive ★「Boost Fusion Library」(@cpp_akira) Boost Fusion Library View more presentations from faithandbrave Boost.Fusion の概要だとか利点とか、Boost.Tuple とかの違いとか。 BOOST_FUSION_ADAPT_STRUCT で定義すれば、Fusion の STL が使えるようになるらしいので、夢が広がります! ★「C++プログラマの為のセキュリティ入門」(@wraith13) 資料:http://www.trickpalace.net/paper/ 資料:http://www.trickpalace.net/paper/
emacsで C/C++ でコーディングしている開発者向けの emacs の設定です. [F5]でビルド,[F4]でエラー行へジャンプといったことが出来,かなり便利です. 具体的には以下のような事が出来ます. [F7]でコンパイル(バッファを全部保存して,make all します) [F4]でコンパイルエラー行へジャンプ [F1]でカーソル下の単語について マニュアルを開く SHIFT+[F7] でリビルド(make clean all) SHIFT+[F4] で一つ前のエラー行へジャンプ 設定は .emacs に以下の内容を追記するだけです. (setq auto-mode-alist (append '(("\\.C$" . c++-mode) ("\\.cc$" . c++-mode) ("\\.cpp$". c++-mode) ("\\.hh$" . c++-mode) ("\\.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く