C++ソフト開発ツールのセオライザー

次世代シリアライザ Theolizer®(セオライザ)【特許出願中】

技術解説

第11回 decltypeとstd::declval

こんにちは。田原です。 今回は、ちょっと複雑なテンプレートを書く時に便利なdecltypeとstd::declvalです。decltypは既にちらほらつかってますが受け取った式の型を返します。declvalはその逆っぽい …

第10回 メンバの有無を判定するテンプレート

こんにちは。田原です。 前回までで テンプレートの明示的特殊化と部分的特殊化とオーバーロード(まとめて表現できる言葉が欲しいですね)を使って必要に応じて異なるテンプレートを定義する方法を解説しました。今回はその応用を1つ …

第9回 部分特殊化チックな関数テンプレートのオーバーロード

こんにちは。田原です。 前回はクラス・テンプレートの少し高度な部分特殊化の方法を解説しました。今回はこれの関数テンプレート版を解説します。とは言っても関数テンプレートには部分特殊化はありません。その代わりオーバーロードが …

第8回 長い長い部分的特殊化をエイリアス・テンプレートでちょっと短く

こんにちは。田原です。 前回はクラス・テンプレートの部分特殊化で複雑な指定を行うための原理的な話を解説しました。うまく組み合わせることで多少複雑な処理でも記述できます。しかもコンパイル時処理なので超高速(実行時間が0)で …

第7回 部分的特殊化で便利な標準ライブラリの仕組みとその使用例

こんにちは、田原です。 前回は部分的特殊化する際によく使われる部品と、それらを使った部分特殊化の例を1つ上げました。そして、実はC++11以降、標準ライブラリ<type_traits>で非常に多数の便利な部品 …

  • Facebook
  • Hatena
  • twitter
  • Google+
PAGETOP
Copyright © Theoride Technology All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.