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

C++14におけるconstexprのループの限界

N3797のAnnex BにあるImplementation quantitiesによると Full-expressions evaluated within a core constant expression [1 048 576]. という値が設定されています。 つまり評価された式の数が1048576より多くなるような処理は出来ないという事です。 これ…

C++11参考書の公開:C++11の文法と機能が公開された

数年前から江添さんが執筆に取り組んでいたC++11参考書 『C++11参考書の公開:C++11の文法と機能』が公開されました。 折角の有益な情報なので告知しておきます。 http://cpplover.blogspot.jp/2013/10/c11c11.html 規格に沿って体系的にC++11の文法を解説し…

Generic Lambdaがclang3.4に部分的に実装されていた

気付いたらclang3.4のGeneric Lambda対応状況がpartialになっていたので簡単な例を試してみました。 int main() { auto Identity = [](auto a) { return a; }; auto integer = Identity(1); auto character = Identity('a'); } これはなかなか便利ですね。 …

委譲コンストラクタで再帰する

委譲コンストラクタで引数を増やしながら再帰してみました。 enablerを用いたSFINAEを使って再帰するコンストラクタから脱出します。 サンプルはとても雑な例なのですが、工夫すれば何かに使えるかもしれません。 #include <type_traits> #include <iostream> #include "sprout/arra</iostream></type_traits>…

tupleを作ってみた

対数オーダーで作りたくて書き始めたのですが、思ったより難しそうだったのでとりあえず基本の線形実装です。 ムーブコンストラクタ等実装してません…。 実装法は幾つかあると思いますが、これではpairの入れ子による構築、firstをvalue、secondをpairにして…

Template Meta Programming入門から応用まで

C++勉強会 @ tkb #2 の資料をSlideShareにアップしました。 Template Meta Programmingに関する内容です。 Template Meta Programming入門から応用まで