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

技術解説

  • HOME »
  • 技術解説

第17回 続々・可変長引数テンプレート

こんにちは。田原です。 今回まで可変長引数テンプレートのパラメータ・パックの加工方法の解説を続けます。「std::forwardを使うケースが多いのでそれも書いた方が良いのでは?」との意見を頂きましたのでこれと、テプレー …

第16回 続・可変長引数テンプレート

こんにちは。田原です。 今回はパラメータ・パックの展開方法についてもう少し解説します。1つはパラメータ・パックを加工して展開できるお話、もう一つは再帰を使わないで関数パラメータ・パックを展開する方法です。後者を使えるケー …

第15回 可変長引数のクラス・テンプレート例tuple

こんにちは。田原です。 可変長引数テンプレートとして関数テンプレートが良く使われるので、前回は関数テンプレートで解説しました。クラス・テンプレートも可変長引数テンプレートとして使えますので、今回はstd::tupleを使 …

第14回 結構便利な可変長引数テンプレート(Variadic templates)

こんにちは。田原です。 テンプレートの基本的な部分は概ね網羅しつつありますので、そろそろ当応用講座も終盤です。 さて、今回は可変長引数のテンプレートを解説します。再帰定義を使う場合も多く使い方は結構難しいですが、結構便利 …

第13回 関数テンプレート・パラメータの便利な特殊性

明けましておめでとうございます。本年もよろしくお願い申し上げます。 お久しぶりの田原です。去年から引き続いてテンプレートの解説を続けますね。 さて、今回は関数テンプレートのパラメータの型推論について少し補足します。関数テ …

第12回 ルールは単純だけど意外にややこしいメンバ・テンプレート

こんにちは。田原です。 クラスやクラス・テンプレートの中で定義するテンプレートのことをメンバ・テンプレートと呼び、関数テンプレートとクラス・テンプレートがあります。そして、クラス・テンプレートの中で定義するクラス・テンプ …

第11回 decltypeとstd::declval

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

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

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

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

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

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

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

« 1 2 3 4 9 »
PAGETOP
Copyright © Theoride Technology Co.,Ltd. All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.