タグ

C++に関するchuwbのブックマーク (48)

  • C++11のすすめ

    この記事は Competitive Programming Advent Calendar Div2013 の 12 月 23 日の記事として書かれました. C++11 のすすめ C++03 は普段から使っているけども C++11 はまだ触ったことがない人向けの入門記事です.最近は多くのプログラミングコンテストで C++11 が使えるようになりつつあります.C++11 で大幅に C++ が書きやすくなっているので,ぜひこの記事を読んで C++11 を使い始めてください!この記事では C++11 に追加された多数の新機能のうちコンテストに役立ちそう(もしくは多くの人が使いそうな)機能を紹介します. 手元での実行の仕方 GCC もしくは clang を利用していれば -std=c++0x というオプションを追加すれば C++11 の機能が有効になります. $ g++ -std=c++0x -o

    chuwb
    chuwb 2014/01/18
  • C++初心者がC++を使って競技プログラミングするための備忘録のようなもの

    kyoupro_on_cpp.md C++初心者がC++を使って競技プログラミングするための備忘録のようなもの この記事は、C++ (fork) Advent Calendar 2013の12日目の記事です。 はじめに 記事を書く人が居ないみたいなので、C++初心者ですが箸休め的な記事を書こうと思い立ち、いざ書き上げてみたら思いの外長くなりました。 この記事は、C++初心者な著者が、C++を用いて競技プログラミングをするために、調べたことや試した事などのまとめです。 記事中に誤り、問題点やご指摘、ご質問等ありましたら、@rigibunまでご連絡下さい(特にpush_bach) githubmarkdownを使いたかったことと、変更履歴が見られることからgistで書きました。 免責事項 著者はこの記事を利用することによって生じたいかなる損害等に対して責任を負いません。 この記事は競技プログ

    C++初心者がC++を使って競技プログラミングするための備忘録のようなもの
    chuwb
    chuwb 2013/12/18
  • ゲーム開発者のための C++11/C++14

    15. Visual Studio は 着実に C++11/14 に対応 2010. 4 2010 auto, move, nullptr lamdas, <random> 2012. 9 2012 Range-based for, enum class <chrono> , <ratio>. <thread> 2013. 6 2013 Preview Variadic templates initializer_lists, C++14 libs 2013. 9 2013 RC Non-static data member init defaulted / deleted functions 2013. 11 2013 2013 Q4 2013 + CTP constexpr, noexcept C++14 generic lamdas

    ゲーム開発者のための C++11/C++14
    chuwb
    chuwb 2013/09/16
  • よく使うC++のイディオム 「NVI」と「RAII」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    よく使うC++のイディオム 「NVI」と「RAII」
    chuwb
    chuwb 2013/08/28
  • edupt

    eduptはC++で書かれたパストレーシングによるシンプルでコンパクトな物理ベースレンダラです。 ソースコードはGithubで公開されており、日語によるコメントが付けられています。 さらに、パストレーシング・物理ベースレンダリング・eduptのソースコード、の解説スライドも公開しています。 関連ワード:レイトレ合宿! Github + https://github.com/githole/edupt 解説スライド + Speaker Deck + SlideShare + 物理ベースレンダラedupt解説 Ver. 1.03 (pptx, 10.6MB) + 物理ベースレンダラedupt解説 Ver. 1.03 (pdf, 4.2MB) 履歴 + 2014/06/15 Ver. 1.03 ソースコードの修正(メンバ変数の命名規則の変更)に伴い画像の修正 + 2013/07/15 Ver.

    chuwb
    chuwb 2013/06/13
  • http://beta.saki7.jp/slides/boost-study-11-cpp-database/

    chuwb
    chuwb 2013/06/01
  • Boost.Asioばかり触っていた人がcpp-netlibを調べてみた - とりあえず適当な名前にした

    この記事はC++ Advent Calendar 2012 24日目の記事です.こんな記事ですけど((( 今日はイブらしいですけど,当然予定なんてありません.悔しくなんて無いしっ さて,cpp-netlibというライブラリについて紹介するのですが,似たようなライブラリ(BoostConnectとかtwit-libraryとか…)を作ってたりしたので実装に興味があったのと,簡単な日語エントリーが少ないよなぁってことで,これについて調べてみようと思ったのがこのエントリーを書くきっかけです. cpp-netlibとは まずはあまり知らない人のために軽く概要を. cpp-netlibはクロスプラットフォームなネットワーク関連のライブラリとして開発され,Boost.Asioを中心に様々なBoostのライブラリを使用することで実現しています.簡単に言うとBoost.Asioのラッパーなライブラリです

    Boost.Asioばかり触っていた人がcpp-netlibを調べてみた - とりあえず適当な名前にした
  • ゲームプログラミングにおけるC++の都市伝説 - ソフトウエア研究会in秋葉原 - PukiWiki

    ゲームプログラミングにおけるC++の都市伝説 † この記事は、C++ Advent Calendar 2012 22日目の記事です。 Prev 21日目の記事 CEANによる配列操作 Next 23日目の記事 構造化並列プログラミング 時間の関係で3つの都市伝説しかご紹介できませんでしたが、またの機会があれば他の都市伝説についてもお話したいと思います。 2012/12/22 written by h.godai @hgodai 目次 初めに 都市伝説1 C++は遅いのでゲームには向いていない 都市伝説2 boost::poolはゲームには向いていない 都市伝説3 boostライブラリは怪しいライブラリだ。使うと呪われる。 ↑ 初めに † かつて、8bit時代はゲームのプログラムはアセンブラが主流でした。やがて、ゲームのプラットフォームが16bitから32bitになるに従い、C言語でゲーム

    chuwb
    chuwb 2012/12/23
  • Effective C++読書会で発表してきました - Faith and Brave - C++で遊ぼう

    Effective C++ 読書会 vol.11 大阪〜第7章特別編〜 大阪で定期開催されているEffective C++読書会ですが、今回はテンプレートの章で特別編ということで、主催の遥佐保さんに呼ばれて行ってきました。 いつもの読書会と違い、今回は発表ありとのことだったので、ついでに「テンプレートとは何か」というタイトルで発表してきました。 読書会の議論を進める上で共通認識を作るための簡単なものなので、網羅的ではないですが全体的にさらっと紹介してみました。 What is template from Akira Takahashi 今回の読書会を通して、いくつか標準に提案する必要のあることが見えてきました。それはどこかで書こうと思います。

    Effective C++読書会で発表してきました - Faith and Brave - C++で遊ぼう
  • Boost Tour 1.50.0 All

    1. Boostライブラリ一周の旅 ver.1.50.0(Merge) 高橋晶(Akira Takahashi) id:faith_and_brave @cpp_akira Boost.勉強会#10 2012/07/28(土) 3. Boostとは • C++標準化委員会の人たちが作ったC++のライブラリ群 • 普段のプログラミング全般で使える基的なものから、専門 特化したものまでいろいろなライブラリがある • Google、Intel、Adobeも開発に関わっている • ライセンスはBoost Software License 1.0 – 無償で商用利用可能 – 著作権表記の必要なし – ソースコードの改変自由 4. 今回紹介するライブラリ 01.Accumulators 23.Format 45.Meta State Machine 67.Signals2 02.Algorithm

    Boost Tour 1.50.0 All
  • 本の虫: rvalue reference 完全解説

    目的 この記事は、C++0xのrvalue referenceを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からrvalue referenceを恐れることなく使う物のC++0xプログラマになれるだろう。 lvalueとrvalueについて Cの時代では、lvalueとrvalueの違いは、代入演算子の左側か右側かという違いだけであった。つまり、left hand value, right hand valueの略である。従って、訳語も、左辺値、右辺値であった。C++においては、これはもはや正しくはない。従って、右辺値、左辺値というのも、誤訳である。それ故に、ここでは、これ以上、左辺値、右辺値という名称を使用しない。 誤解を恐れずにいえば、lvalueとは、明示的に実体のある、名前付きのオブジェクトであり、rvalue

    chuwb
    chuwb 2012/06/02
  • Elements of Modern C++ Style

    C++11 feels like a new language.” – Bjarne Stroustrup The C++11 standard offers many useful new features. This page focuses specifically and only on those features that make C++11 really feel like a new language compared to C++98, because: They change the styles and idioms you’ll use when writing C++ code, often including the way you’ll design C++ libraries. For example, you’ll see more smart poi

    Elements of Modern C++ Style
    chuwb
    chuwb 2012/06/02
  • C++0x ラムダ式 - Faith and Brave - C++で遊ぼう

    【2015年12月24日記載 : C++11 ラムダ式の正式なまとめは、こちらのページ「C++11 ラムダ式 - cpprefjp C++語リファレンス」を参照してください】 今まではラムダ式のリビジョンが上がるたびに差分だけ書いてたので C++0xに採択されたラムダ式の解説をあらためて書きます。 【C++03までの問題点】 C++03では、関数をその場で作成する、ということができなかったため 関数を受け取るSTLアルゴリズムを使用する場合、以下のように、アルゴリズムに渡す用の関数を作成しなければなりませんでした。 struct is_even { typedef bool result_type; bool operator()(int x) const { return x % 2 == 0; } }; vector<int> v; find_if(v.begin(), v.end

    C++0x ラムダ式 - Faith and Brave - C++で遊ぼう
    chuwb
    chuwb 2012/06/02
  • Web 上での C++11 関連記事まとめ - Cube Lilac

    これは,C++11 Advent Calendar 2011 参加記事です.現在,開催されている Advent Calendar の一覧は Advent Calendar 2011 (jp) 開催予定リスト - Life like a clown を参照下さい. C++11 (C++0x) に関しての情報は の虫 や Faith and Brave - C++で遊ぼう でかなり詳細な記述がありますので,情報を探す場合は site:cpplover.blogspot.com や site:d.hatena.ne.jp/faith_and_brave 辺りを指定してググってみると良いかもしれません.この記事でも,該当ブログの記事をメインにリンク集を作成しています. 尚,自分の理解が追い付いてないものや見逃したもの等があるので,結構な抜けがあるかと思います. 概要 ざっと概要を知りたい場合は,

    Web 上での C++11 関連記事まとめ - Cube Lilac
    chuwb
    chuwb 2012/06/02
  • C++03 から C++11 へ移行する人が見るべき資料 - C++でゲームプログラミング

    どこかにまとまっていれば便利かなーと思いとりあえず、手元にあったのを簡単にまとめてみた。 [注意点] ネットで C++11 に関して調べる時の注意点ですが、古い言語仕様(C++0x)のまま書かれているコードが載っている事があります。 ブログの記事などを参考にする場合は投稿日を見て、最近の記事かどうかを確認しておくといいと思います。 [コーディングスタンダード] C++11 のコーディングスタンダード C++11 - the recently approved new ISO C++ standard 駆け足でC++11の概要 C++11 とオブジェクト指向 C++03 の仕様から変更のあったライブラリ [その他] C++0x総復習 Web 上での C++11 関連記事まとめ C++11 Advent Calendar 2011 C++Now! 2012

    C++03 から C++11 へ移行する人が見るべき資料 - C++でゲームプログラミング
    chuwb
    chuwb 2012/06/02
  • Effective C++11(の種) - yohhoyの日記

    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

    Effective C++11(の種) - yohhoyの日記
    chuwb
    chuwb 2012/04/18
  • TopCoderから学ぶ美しいマクロや型宣言 C++ - peroon's diary

    TopCoderというプログラミングコンテストで 他人のコードから発見した、美しいマクロや 型宣言を紹介します。 これを導入することで、C++のコードが短くなり、 早くコーディングすることができます。 ※すべてのTopCoder参加者がマクロなどをテンプレートと して用意しているわけではありません。 マクロなどを定義している人は半分より少ないようです。 TopCoderの他人のコードを参考に、 マクロやtypedefによる型宣言をまとめました。 コードの全体はこのようになっています。 (あとで個別にコメントします) //include //------------------------------------------ #include <vector> #include <list> #include <map> #include <set> #include <deque> #in

    TopCoderから学ぶ美しいマクロや型宣言 C++ - peroon's diary
  • 中3女子でもわかる constexpr

    1. 中3女子でもわかる! constexpr Boost.勉強会 #7 bolero_MURAKAMI 2011/12/3 2. ◆⾃⼰紹介 • 名前 : 村上 原野 (むらかみ げんや) @bolero_MURAKAMI, id:boleros • 棲息地: ⼤都会岡⼭ • 仕事 : 猪⾵来美術館陶芸指導員 ・普段はやきものの修⾏をしたり、 縄⽂⼟器をつくったりしています ・趣味は constexpr です 3. ◆⾃⼰紹介 • 好きな C++11 の機能: constexpr • 嫌いな C++11 のキーワード: constexpr • 次期 C++ で強化されてほしい機能: constexpr • 次期 C++ で消えてほしいキーワード: constexpr

    中3女子でもわかる constexpr
    chuwb
    chuwb 2011/12/07
  • 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の生存記録のような何か
    chuwb
    chuwb 2011/12/07
  • C++11のコーディング変更点まとめ | エンタープライズ | マイコミジャーナル

    C++ is one of the most popular programming languages. 次世代のC++規格「C++11」が国際標準として発行された。多くのC++デベロッパは、この新しいC++規格で提供される新機能に関心があると思うが、仕様書を読むのは骨が折れるとためらっている方も少なくないだろう。 そんなデベロッパの皆さんに朗報だ。C++11の登場で通常のC++コーディングとライブラリデザインなどに強く影響を与えるとみられる変更がBjarne Stroustrup氏の記事「Elements of Modern C++ Style」にまとめられている。C++98と比べて特に見た目の変更が大きく、かつ、今後広く使われ新しいコーディングスタイルになりそうなものが紹介されており、C++11新機能を知るための導入ドキュメントとして役に立つ。 紹介されているC++11の新機能を簡単

    chuwb
    chuwb 2011/11/05