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

  • C++のコンパイルエラー爆発を競うコンテスト - Faith and Brave - C++で遊ぼう

    Results of the Grand C++ Error Explosion Competition 少し前に、C++のコンパイルエラーの長さを競うコンテストが開催されていました。 受賞のカテゴリは2つあり、ひとつめは最小コードで最大のコンパイルエラーを出した人、もうひとつは芸術的な評価による受賞です。 最小コードで最大のコンパイルエラー この部門で優勝したのはEd Hanwayさんという方で、ソースコード量に対して59億倍のコンパイルエラーメッセージを出力したそうです。 それには、自身を2回インクルードするという手法が使われていたそうです。 #include ".//.//.//.//jeh.cpp" #include "jeh.cpp" 次点として、インクルードに後方参照を使用した、7億9千万倍のコンパイルエラーを出力するコード: #include "set>.cpp" #incl

    C++のコンパイルエラー爆発を競うコンテスト - Faith and Brave - C++で遊ぼう
    degucho
    degucho 2014/03/26
  • C++14の言語拡張まとめ - Faith and Brave - C++で遊ぼう

    C++14は、C++11に対するマイナーアップデートです。仕様のバグ修正や、C++11の比較的小さめな機能不足を補うバージョンになっています。 細かすぎる変更はさすがに書きませんが、ある程度大きめの変更を以下にまとめます。 この内容は、正式に策定されるまでに変更される可能性があります。 コア言語 2進数リテラル 変数テンプレート 通常の関数の戻り値型を推論 ジェネリックラムダ 一般化されたラムダキャプチャ constexpr関数の制限緩和 どこからともなく現れる結果の規定(前半, 後半) [[deprecated]]属性 数値リテラルの桁区切り文字 サイズ付きのデアロケーション initializer-listによるaggregate初期化の制約緩和 ロックフリーの定義 シグナルハンドラでできることの制限緩和と明確化 ライブラリ make_unique() コンパイル時整数シーケンス tu

    C++14の言語拡張まとめ - Faith and Brave - C++で遊ぼう
    degucho
    degucho 2013/11/23
  • 『C++ポケットリファレンス』という本を書きました! - Faith and Brave - C++で遊ぼう

    C++11対応の『C++ポケットリファレンス』というを書きました。 C++ポケットリファレンス - Amazon C++ポケットリファレンス - 技術評論社 書は、標準C++のリファレンスです。「何がしたい」から「どうやって」を調べる、逆引きリファレンスの形式をとっています。 ポケットリファレンスはシリーズもので、これまで多くの言語やフレームワークのが出ていますが、縁あって技術評論社さんからC++版のお話をいただき、書かせてもらいました。 今回は、私を含む、C++コミュニティのメンバ6人で書きました。 書はライブラリの使い方を主題として扱いますが、C++11に関する日語書籍はこれが初となる実情があるため、言語の基文法も力を入れて書いています。そのため、書はライブラリのリファレンス書としてだけでなく、C++の入門書として使うこともできると思います。 「ポケットリファレンス」と

    degucho
    degucho 2013/04/24
  • 「プログラミングの魔導書」の情報公開 - 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++で遊ぼう
    degucho
    degucho 2010/06/01
  • Boost.Graph Graphviz形式で出力 - Faith and Brave - C++で遊ぼう

    先日のグラフをGraphvizの*.dot形式で出力してみよう。 #include <fstream> #include <vector> #include <string> #include <boost/graph/adjacency_list.hpp> #include <boost/graph/graphviz.hpp> typedef boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int>> Graph; typedef std::pair<int, int> Edge; enum { A, B, C, D, E, N }; const std::string name = "A

    Boost.Graph Graphviz形式で出力 - Faith and Brave - C++で遊ぼう
    degucho
    degucho 2010/04/14
  • 1