C++と色々

主にC++やプログラムに関する記事を投稿します。

2013-11-01から1ヶ月間の記事一覧

find関数で見るC++の変化

C++

STLアルゴリズムはそのアルゴリズムを適用する範囲の先頭と末尾のイテレータのペアを引数に取ります。実際には範囲全体にアルゴリズムを適用させるケースが多く、イテレータのペアを書くのが冗長に感じることがあります。そこでBoost.Rangeには、範囲を引数…

boost::serializationでboost::shared_ptrをシリアライズする

boost::shared_ptrをシリアライズする際にハマったのでメモしておきます。 boost::shared_ptrのトラッキングレベルはboost::shared_ptrの型Tのトラッキングレベルに依存しています。そして、その型Tのトラッキングレベルはboost::serialization::track_never…

boost::serializationでデフォルトコンストラクタのないクラスをシリアライズ化する

デフォルトコンストラクタを持たないクラスをシリアライズする。 save_construct_dataを使う、とかいった情報は出てくるのに、肝心のアーカイブ化するサンプルコードが探した限りあんまり無いので、サンプル張っておきます。ここに知りたいことが書いてあり…

MinGWでboostをビルドするとコンパイルエラーになる

MinGWのgccでboostを使いたかったので、こちらのサイトを参考に bootstrap.bat gcc を実行しました。すると Building Boost.Build engine builtins.c: In function 'builtin_readlink': builtins.c:1879:39: error: 'FSCTL_GET_REPARSE_POINT' undeclared (f…

Visual C++ Complier Nov 2013 CTPのconstexprのコンパイル時再帰深度

Visual C++ Complier Nov 2013 CTPにて部分的に実装されたconstexprですが、constexpr関数のコンパイル時再帰深度について調べてみました。 constexpr int func(int n) { return n == 0 ? 0 : func(n - 1); } int main() { static_assert(func(512) == 0, ""…

Visual C++ Compiler November 2013 CTPがやってきた!

ソース http://blogs.msdn.com/b/vcblog/archive/2013/11/18/announcing-the-visual-c-compiler-november-2013-ctp.aspx ついに…!ついに…!きた…!Visual C++ 2013 CTPです! なんと、Visual C++で、constexprが使えます!!!(コンストラクタ除く) コンパ…

歌舞伎座.tech#2に参加してきた

C++

補欠参加だったので、前日までに枠に入れてラッキーでした。 普段ブログやtwitterで一方的によく知っている人たちに生で会えるということも目的の一つに参加してきました。 C++11 : variadic template のご紹介 発表者 επιστημηさん 資料 http://www.slidesh…

Visual C++ 12.0で boost iterator concepts がコンパイルエラーになる

C++

以下のコードがVisual C++ 12.0でコンパイルエラーになります。Boostのバージョンは1.55です。 #include <boost/iterator/iterator_concepts.hpp> int main() { } 出力 http://melpon.org/wandbox/permlink/oJdAALJZbyRJgIiG iterator_concepts.hpp(43): error C2448: 'BOOST_concept' : 関数の定義</boost/iterator/iterator_concepts.hpp>…