タグ

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

  • C++1z 畳み込み式 - Faith and Brave - C++で遊ぼう

    C++1zでは、「畳み込み式 (Fold expressions)」という機能が入ります。これは可変引数テンプレートのパラメータパックに対して集計操作を行うためのものです。 たとえば、整数のシーケンスを与えてその合計値を求める計算は、以下のように書けます: #include <iostream> template <class... Args> int sum(Args... args) { // 「... @ args」が畳み込み式。@の部分は任意の二項演算子 return (... + args); } int main() { int x = sum(1, 2, 3, 4, 5); std::cout << x << std::endl; // 15 } このような計算はこれまで再帰を使用して実装する必要がありましたが、より簡潔に書けるようになりました。 ここでは、argsパラメータ

    C++1z 畳み込み式 - Faith and Brave - C++で遊ぼう
    rin51
    rin51 2016/12/10
  • 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++で遊ぼう
    rin51
    rin51 2014/03/27
  • 『C++のためのAPIデザイン』レビュー - Faith and Brave - C++で遊ぼう

    翻訳監修の三宅さん( @miyayou )さんから献いただきました!ありがとうございます。 書は、関数、クラス、ライブラリといった誰かに使ってもらうためのプログラムを書くプログラマのためのです。ほかの人に使ってもらうプログラムを書くために考えるべき多くのことが書かれています。たとえば、以下のようなことを考える必要があります: ユーザーに公開するインタフェースはどうあるべきか。実装詳細はどれで、ユーザーは何を知っていれば十分なのか。それはどの場面で使用できるだろうか、いま目の前にある目的を達成できればいいのか、はたまた多くの場面で再利用したいのか。 バージョンに関しても考えなければいけない。このAPIは後方互換性を保てるほど入念に考えられているだろうか。どうしても破壊しなければいけない場合、どういう設計選択をするべきか。 ドキュメントはどこまで書くべきだろうか。自動テストは何のために書

    『C++のためのAPIデザイン』レビュー - Faith and Brave - C++で遊ぼう
    rin51
    rin51 2012/11/02
  • 『プログラミングの魔導書 Vol.2』予約開始! - Faith and Brave - C++で遊ぼう

    株式会社ロングゲート - プログラミングの魔導書 〜Programmers' Grimoire〜 Vol.2 Vol.1から約1年経ってしまいましたが、日、 『プログラミングの魔導書 〜Programmers' Grimoire〜』 Vol.2 The Evolution of Languages の予約を開始いたしました。 Vol.2のテーマは「言語の進化」です。 いろいろな言語における日の第一人者と言って差し支えない日人プログラマの方々に、歴史や現在の状況、今後の展開について執筆していただきました。 書では、Boost C++ Librariesの設計者であるDave Abrahamsへのインタビューに成功しました。ライブラリが言語の進化にどう貢献していくのか、プログラマにライブラリをどう教育していくのか、などを伺いました。 書のコンテンツおよび執筆者は以下のとおりです。 D

    『プログラミングの魔導書 Vol.2』予約開始! - Faith and Brave - C++で遊ぼう
    rin51
    rin51 2011/09/16
  • 「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう

    http://longgate.co.jp/products.html 弊社、株式会社ロングゲートで、プログラミング雑誌を作るというプロジェクトが進行しています。 書創刊の目的は、プログラミングの入門記事が巷に溢れる今、プログラマのさらなる成長のため情報発信を行い、業界全体の技術力を向上させることです。 雑誌といっても、記事の質を保つために不定期刊行としていることから、実際には雑誌ライクな書籍となります。 書籍名は「プログラミングの魔導書〜Programmers' Grimoire〜」です。 創刊号となる今回のテーマは、サブタイトルにも含まれている「C++」です。全ての記事がプログラミング言語C++に関するものとなっています。 Vol.1のテーマをC++としたのは奇をてらったものではありません。 C++は習得の難しい言語と言われておりますが、近年はBoost C++ Librariesに

    「プログラミングの魔導書」の情報公開 - Faith and Brave - C++で遊ぼう
    rin51
    rin51 2010/06/05
  • constメンバ関数は重要 - Faith and Brave - C++で遊ぼう

    私は基的に、C++でソース書くときはやたらめったらconst付けます。 なぜならHaskellが好きだからです(ぇ じゃなくて、状態の変更によるバグを減らすためです。 しかし、他人が書いたソースを見てると、オブジェクトのconst操作を考えて設計されてないことが けっこうあり、Is〜とかGet〜といった名前の関数の中でメンバの状態を変更してたりします。 これはとくに、JavaやC#のようなconstメンバ関数がない言語からC++に移植するようなときに 起こりやすいのですが、C++でもconstメンバ関数の存在を知ってか知らずかconstが付いてないことが多々あります。 書籍でいうと、『Game Programming Gems』では明らかにconst操作なメンバ関数にconst付いてないですね。 C++で大きなプログラムを組む際は、元となるコード(移植元やライブラリ)がオブジェクトのco

    constメンバ関数は重要 - Faith and Brave - C++で遊ぼう
  • 『C++テンプレートテクニック』もうすぐ発売です。 - Faith and Brave - C++で遊ぼう

    私とεπιστημηさんの2人で、C++テンプレート書きました。 (ぼくは著者名を名で載せてます) 発売日は2009/04/24(金)で、税込2,940円になります。 内容は、テンプレートの基礎から始まり、テンプレートメタプログラミング、 Boost C++ Librariesの中で使われている手法、C++0xでテンプレートがどのように進化していくか等を紹介しています。 屋とかAmazonで見かけたら買ってやってください。

    『C++テンプレートテクニック』もうすぐ発売です。 - Faith and Brave - C++で遊ぼう
  • 1