Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
![C++の準備が完了した](https://cdn-ak-scissors.b.st-hatena.com/image/square/f963d41d90a9628fbc0e4a5468af0b1b8e118456/height=288;version=1;width=512/https%3A%2F%2Fres.infoq.com%2Fnews%2F2017%2F04%2Fcpp%3D17-ready%2Fja%2Fheaderimage%2FGettyImages-497523732.jpg)
C++ Advent Calendar 2012 2日目の記事…なんですが、書きたいことが2つあったので2部作にしてしまいましたてへぺろ(・ω<) と、いう事で本記事は前編になります。 後編はこちら。 Boost.TypeErasure 概要 constexpr ライブラリである Sprout の布教を簡単に。 動作環境 本記事内では下記の環境で動作テストを行なっています。 コンパイラ:gcc 4.7.2 Sprout :commit d57b6e2b182144b8896f116f2d1b495f3e53436a(2012/12/02/12:00) constexpr とは constexpr とは C++11 に追加されたキーワードで、constexpr を指定することでコンパイル時定数として扱われます。 例えばこんな感じで使うことが出来ます。 template<int N> stru
さて、constexpr を使っていると次のように関数内で static_assert を行いたい場合があると思います。 template<typename T> void check(T t){ // t を参照して static_assert にしたい static_assert(t % 2 == 0, ""); } constexpr int a = 2; check(x); // error: 't' is not a constant expression しかし、上記のコードでは check 関数内で constexpr かどうかの判断が行えないのでコンパイルエラーになってしまいます。 これを回避する方法として、構造体内で constexpr 関数を定義する方法があります。 template<typename T> void check(T t){ // operator in
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く