タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

C++とC++14とconstexprに関するastk_fのブックマーク (2)

  • 最高速のfizzbuzzを実装する話

    この前、Twitterで誰かが「コンパイラ言語でFizzbuzz書くなら、コンパイル時に全ての演算を済ませ、実行コストはI/O命令1個になるように最適化しないと」という話をしていた。いいこと言うな、と思ってスルーしていたのだが、体調不良で頭だけ動いている状態だったのでC++11でトライしてみることに。 案ずるより産むが易しというもので、割と簡単に綺麗に書けた。こんな感じ。 char配列を可変長のテンプレート引数として結合していって、文字列定数を生成するというテクニックは実際に使い所があるかもと思った。最近C++書いてないけど。 #include <cstdio> template <typename LHS, int N> struct numstr { template <char... Args> struct append { typedef typename numstr<LHS,

  • コンパイル時ズンドコキヨシ - C++と色々

    ズンドコキヨシ with C++14 - C++と色々 の続きです。コンパイル時にズンドコキヨシをやってみました。 static_assert で、ちゃんとシーケンスの最後の5つがズンズンズンズンドコになっているかを検証しています。Sprout.RandomとBoost.MPLを使用しています。参考にした記事は以下になります。Sprout.Randomの使い方と、call_nを参考にしました。 Sprout.Random - コンパイル時の乱数生成 - ボレロ村上 - ENiyGmaA Code http://d.hatena.ne.jp/osyo-manga/20130413/1365860245 The MPL Reference Manual - 1.60.0 #include <iostream> #include <type_traits> #include <boost/mpl

    コンパイル時ズンドコキヨシ - C++と色々
  • 1