C++
C++14まで、テンプレート関係で使用するキーワードとしてclassとtypenameのどちらを使用するかをユーザーが選択できました。しかし、一部の状況ではどちらかしか使えません。 テンプレートテンプレートパラメータはC++14までclassキーワードしか使えませんで…
C++11から導入されたコンパイル時アサートのstatic_assertですが、「式が真であると表明したいだけなのに、メッセージを指定しなければならないのがめんどくさい」という問題がありました。 この問題のために、ユーザーが以下のようにメッセージを省略するマ…
C++14 - cpprefjp C++日本語リファレンス C++14の言語機能解説が一通りできました。C++11の方は残り11個なので、3月中くらいにできるかもしれません。 問題報告とpull requestは、cpprefjp/siteリポジトリまでお願いします。あとちょっと・・・。 広告の代わ…
C++11 - cpprefjp C++日本語リファレンス C99互換機能としてC++11に導入された機能の解説を、一通り書きました。 C++14の解説は残り3つ。C++11は残りいっぱいあります。
2015年中に言語編が始まってから書いたものを列挙する。 このあと2015年中にまだいくつか書くかもしれない。 C++11 C++11ページ このバージョンの概要を記載した C++11で追加・更新された各言語機能のリストを作成した C++11で追加・更新されたライブラリ機…
Version 1.60.0 - Boost C++ Libraries Boost 1.60.0リリースノート - boostjp Boost 1.60.0がリリースされました。 いつものように、リリースノートを翻訳し、情報補完したものを、boostjpサイトで公開しています。 新ライブラリ 可変引数マクロを使用した…
Boost.勉強会 #19 東京 - boostjp 発表資料は、boostjpサイトの上記ページにまとめてあります。 大きなトラブルもなく終わってよかったです。お手伝いしてくれたスタッフのFlastさん、fadisさん、西山さん、ありがとうございました。 Boost.勉強会は2009年12…
たまにこういうのが必要になる。 関数のオブジェクトをいったん別の変数に移し、元のオブジェクトを空にしてから、移した先の関数を呼び出す。 これが必要になるのは、コールバック関数を呼び出し、そのコールバック関数のなかでさらにコールバック関数が登…
Boost.Convertでは、boost::cvt名前空間のby_defaultという型がデフォルトのコンバータクラスとなる。 デフォルトのコンバータは、先行宣言されているだけで定義はされていないので、デフォルトがどれなのかは、ユーザーが定義する。 #include <iostream> #include <boost/convert.hpp> #i</boost/convert.hpp></iostream>…
Boost.勉強会 #19 東京 - connpass C++忘年会 2015 - connpass 2015年12月05日(土)に、IIJさんのセミナールームをお借りして、Boost.勉強会を開催します。 今回の懇親会は、忘年会もかねて行います。
cpprefjp - C++日本語リファレンス 以下のコミットで、正規表現ライブラリのリファレンス作成が完了しました。 basic_regex : サンプルコードを追加(fix #265) - cpprefjp/site <regex>ヘッダ - cpprefjp C++日本語リファレンス またこれにより、C++日本語リファレ</regex>…
Effective Modern C++ - C++11/14プログラムを進化させる42項目 - Amazon.co.jp Effective Modern C++ - C++11/14プログラムを進化させる42項目 - オライリー・ジャパン 岡田さん、オライリー・ジャパンさん、ありがとうございます! 明日9/18(金)に発売です…
wstring_convert (C++11) - cpprefjp C++日本語リファレンス このあとは、<regex>ヘッダの残タスクにとりかかる予定です。</regex>
<cstdlib>ヘッダのリファレンスとして、プロセス終了関係を書きました。 今のところ、このヘッダの、ほかの機能のリファレンスを書く予定はありません。</cstdlib>
私のGistに、以下の記事を追加しました。 EmscriptenとCMakeでのビルド方法 Emscriptenで、C++からJavaScriptの関数を呼び出す こちらに記載してもよかったのですが、バージョンが変わったときなどで記事の更新管理がしやすいように、Gistに置くことにしまし…
Version 1.59.0 Boost 1.59.0リリースノート - boostjp Boost 1.59.0がリリースされました。リリースノートはいつものように、boostjpサイトで翻訳を行い、公開しています。 新ライブラリ Convert Boostには以前からlexical_cast()という強力な数値・文字列…
Boost 1.59.0から、Boost.Multi-indexに、ranked indiciesというのが入ります。 これは、キーが何番目に大きいかを対数時間で取得できる、連想配列のインデックスです。 イメージとしては、mapに対してit = m.find(key)をして得たイテレータに、distance(m.b…
Boost 1.59.0リリースノート - boostjp いつものように、boostjpサイトで、リリースノートの翻訳をやっています。
Boost.勉強会 #17 東京 - boostjp 発表資料は、上記ページにまとめてあります。 東京での開催は、1年2ヶ月ぶりとなりました。最近だいぶ気持ちが落ち込んでいて、当日の朝まで非常に憂鬱な状態だったのですが、参加者のみなさんの熱気で、おかげさまで回復で…
改訂新版 C++ポケットリファレンス - 技術評論社 改定新板 C++ポケットリファレンス - Amazon.co.jp おかげさまでご好評いただいております書籍『C++ポケットリファレンス』ですが、この度、C++規格の最新バージョンC++14(ISO/IEC 14882:2014)に対応した改訂…
Boost.勉強会 #17 東京 2015/05/30(土)に、Boost.勉強会 東京を開催します!
Version 1.58.0 Boost 1.58.0リリースノート - boostjp いつものように、boostjpサイトで、リリースノートの日本語訳を作成して公開しています。 新ライブラリ 今回の新ライブラリは、以下の2つです。 Endian プロセッサのエンディアンに関係なく、適切なバ…
Boost.Graphのadjacency_listクラスには、Bundleプロパティという仕組みを使って、頂点や辺の情報を、任意のユーザー定義型に保持できます。 そのような作りになっているグラフオブジェクトに、Graphvizのデータを読み込むサンプルコードを、以下の示します…
その1、その2、その3、その4、その5、その6、その7に引き続き、C++14の標準ライブラリに入った小さな変更を紹介していきます。 vectorとdequeの複数要素を挿入する操作の、強すぎる保証を緩和 vector::insert() deque::insert() C++11までこれらの関数は、以…
その1、その2、その3、その4、その5、その6に引き続き、C++14の標準ライブラリに入った小さな変更を紹介していきます。 condition_variableのwait系関数が例外を送出する仕様を変更 condition_variable::wait() condition_variable::wait_for() condition_va…
その1、その2、その3、その4、その5に引き続き、C++14の標準ライブラリに入った小さな変更を紹介していきます。 unique_ptr::reset(nullptr_t)の仕様を追加 配列版std::unique_ptr<T[]>クラスの、nullptrを受け取るreset()メンバ関数の仕様が、これまで未規定でし</t[]>…
その1、その2、その3、その4に引き続き、C++14の標準ライブラリに入った小さな変更を紹介していきます。 error_categoryにデフォルトコンストラクタを追加 std::error_categoryクラスのコンストラクタに、デフォルトコンストラクタを追加しました。 constexp…
cpprefjpのSEO関係の対応をしてたり、cpprefjpの数式をMathJaxに対応してたり、Boost 1.58.0のリリースノート翻訳をやっていたりしたので、こちらが滞っていました。 その1、その2、その3に引き続き、C++14の標準ライブラリに入った小さな変更を紹介していき…
コンパイラの実装状況 - cpprefjp C++日本語リファレンス Clang 3.6がリリースされたので、cpprefjpの「コンパイラの実装状況」ページにC++1zの状況をまとめました。 Clang 3.6のリリースノートは以下: Clang 3.6 Release Notes — Clang 3.6 documentation
その1、その2に引き続き、C++14の標準ライブラリに入った小さな変更を紹介していきます。 細かいnoexceptの付け忘れ対応 C++11で<memory>ヘッダに追加されたアロケータの中間インタフェースstd::allocator_traitsクラスのmax_size()静的メンバ関数に、noexceptが追加</memory>…