タグ

ブックマーク / faithandbrave.hateblo.jp (10)

  • C++17の新機能予定 - Faith and Brave - C++で遊ぼう

    Trip Report: Fall ISO C++ Meeting C++17、およびTechnical Speficicationに採択された提案文書。 コア言語 N4259: Wording for std::uncaught_exceptions (Herb Sutter) 捕捉していない例外の数を取得する関数を追加する。 N4261: Proposed resolution for Core Issue 330: Qualification conversions and pointers to arrays of pointers (Jens Maurer) ポインタの配列を、ポインタへのポインタに変換するときに、const修飾を許可する。 N4262: Wording for Forwarding References (Herb Sutter, Bjarne Stroustr

    C++17の新機能予定 - Faith and Brave - C++で遊ぼう
    tanku
    tanku 2014/11/25
  • 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++で遊ぼう
    tanku
    tanku 2014/03/26
  • C++11での自作アロケータに必要な最小コード - Faith and Brave - C++で遊ぼう

    C++11では、std::allocator_traitsというアロケータアクセスの中間インタフェースが用意されたおかげで、自作アロケータに必要な実装がだいぶ減りました。 自作アロケータに必要な最小コードは、以下のようになります。 要素型value_type 特殊関数(デフォルトコンストラクタ、コピーコンストラクタ、ムーブコンストラクタ) 別な要素型のアロケータを受け取るコンストラクタ allocate()メンバ関数。(hintパラメータはあってもなくてもいい) deallocate()メンバ関数 operator==とoperator!= サンプルコード: #include <new> template <class T> struct MyAllocator { // 要素の型 using value_type = T; // 特殊関数 // (デフォルトコンストラクタ、コピーコンスト

    C++11での自作アロケータに必要な最小コード - Faith and Brave - C++で遊ぼう
    tanku
    tanku 2014/02/15
  • C++ポケットリファレンスについて書ききれなかった、いくつかのこと - Faith and Brave - C++で遊ぼう

    昨日、『C++ポケットリファレンス』の紹介エントリを書きましたが、ここではそのエントリで書ききれなかったことを書きます。読者向けではなく、このの著者とレビュアーのためにプロジェクトの記録として残すことと、の執筆に携わる人に参考にしてほしい、という意図で書きます。 プロジェクトメンバの構成 『C++ポケットリファレンス』の執筆は、6人の共著者、編集者が1人と、5人のレビュアーが関わっています。ぼくはとりまとめ役です。 その内、レビュアーの一人である兎さんが、レビュー管理のためのRedmineを立てて運営してくれていて、同様にレビュアーの一人であるDigitalGhostさんが、原稿管理のためのGitリポジトリを用意してくれました。Gitリポジトリは、弊社ロングゲートのサーバーに置いてあります。 使用したサービスとツール 単著でレビュアーなしであれば、エディタで原稿を書き、それを編集者に送

    C++ポケットリファレンスについて書ききれなかった、いくつかのこと - Faith and Brave - C++で遊ぼう
    tanku
    tanku 2013/04/25
  • Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう

    9/11(土)は、Boost.勉強会#2でした。 会場をご提供いただいたIIJ様、ありがとうございました。 Ustの配信をお願いしていた方が急遽来れなくなるというトラブルもありましたが、 IIJさんの計らいにより、なんとか配信/録画できました。以下に動画への各URLを記載しますので、来れなかった方はチェックしてみてください。 Boostライブラリ一周の旅(id:faith_and_brave, @cpp_akira) 動画 : http://www.ustream.tv/recorded/9486579 資料 : Boost tour 1_44_0View more presentations from faithandbrave. Boost tour 1_44_0_allView more presentations from faithandbrave. 今回は差分のみで量も少なかっ

    Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう
  • Boost.勉強会のまとめとか感想とか今後についてとか - Faith and Brave - C++で遊ぼう

    Boost.勉強会 - ATND 12/12(土)にグリー株式会社様のセミナー会場をお借りして Boost.勉強会を開催しました。id:sotarokさんありがとうございました! 【発表のまとめと感想】 ・Boostライブラリ 一周の旅(id:faith_and_brave, @cpp_akira) Boost 1.40.0に含まれるライブラリのうち、74ライブラリを紹介し、 それに加えて「一分でわかるテンプレートメタプログラミング」というのを話しました。 (1分以内には終わらなかったのと、もうちょっとじっくりやりたかったです。) 今回の勉強会ではじめてBoostを知った、という方にはBoostを使い始めるきっかけと なっていただければ幸いです。 反省点としては、1時間セッションの予定が気づいたら40分もオーバーしてしまっていたことですね。 解説するライブラリが74個もあったというのはあり

    Boost.勉強会のまとめとか感想とか今後についてとか - Faith and Brave - C++で遊ぼう
  • c_function使ってみた - Faith and Brave - C++で遊ぼう

    id:hito_hppさんに聞いて知ったのですが、 Boost Vaultにあるc_functionを使うと、関数オブジェクトを関数ポインタに変換してくれます。 #include <iostream> #include "c_function.hpp" struct functor { void operator()(int x) const { std::cout << x << std::endl; } }; void callback(void(*f)(int)) { (*f)(3); } int main() { using redshift::base::make_c_function; callback(make_c_function<struct call_0, void(*)(int)>(functor())); // 3 } make_c_functionの型指定がめんど

    c_function使ってみた - Faith and Brave - C++で遊ぼう
    tanku
    tanku 2009/01/07
    "Boost Vaultにあるc_functionを使うと、関数オブジェクトを関数ポインタに変換してくれます"
  • 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++で遊ぼう
    tanku
    tanku 2008/12/12
    lambda
  • SlickEdit使い始めました - Faith and Brave - C++で遊ぼう

    SlickEdit というテキストエディタを使い始めました。 SlickEdit とは、 C++, Java, C#, VB, Ruby, Python, Perl, XML 等の数多くの言語に対応したエディタです。 これには、 C++ プログラマにとってはとてもうれしい機能が満載で、 C# 並に強力なインテリセンスやリファクタリング、 ほかにも多数の機能があります。(まだ研究中です) SlickEdit では、 Visual Studio のソリューション(*.sln)やワークスペース(*.dsw, *.vcw)を読み込み、 ビルド・デバッグ・実行することもできます。 キーバインディングも Visual Studio, Visual C++ 6.0, Vim, Emacs 等に対応しています。 ぜひ試してみてください! SlickEdit - Home 超高性能エディタ スリックエディッ

    SlickEdit使い始めました - Faith and Brave - C++で遊ぼう
    tanku
    tanku 2008/08/02
  • コーディングスタイル - Faith and Brave - C++で遊ぼう

    汎用コードを書く際の私のコーディングスタイルです (命名規則はたぶん『Exceptional C++ Style』に載ってたものがベースだと思う) 【命名規則】 基は「小文字アンダーバー区切り」 ・ローカル変数, パラメータ int variable_name; ・private/protectedメンバ変数 int variable_name_; ・publicメンバ変数 int variable_name; ・関数名, メンバ関数名 void func_name(); ・クラス名 class class_name {}; ・テンプレートパラメータ template <class TypeName> ... ・メタ関数の戻り値名(値) struct ... { static const int value; }; ・メタ関数の戻り値名(型) struct ... { typedef .

    コーディングスタイル - Faith and Brave - C++で遊ぼう
    tanku
    tanku 2007/12/26
  • 1