標題頁 / 元函數 / 概念 / 元函數

元函數

描述

元函數 是一個類或類模板,表示一個可以在編譯期被調用的函數。調用一個帶參數的元函數的方法是,以特定的模板參數(元函數參數)實例化該類模板;元函數的結果可通過實例的內嵌 type typedef 來訪問。所有元函數的參數都必須是類型(即只允許使用 類型模板參數)。一個元函數的參數數量是可變的。無參元函數 可表示為一個帶有內嵌 type typename 成員的(模板)類。

表達式要求

在下表以及後續說明中,f 是一個 元函數

表達式 類型 複雜度
f::type 任意類型 未指定
f<>::type 任意類型 未指定
f<a1,..,an>::type 任意類型 未指定

表達式語義

typedef f::type x;
前置條件: f 是一個無參 元函數; f::type 是一個 類型名
語義: x 為元函數調用的結果
typedef f<>::type x;
前置條件: f 是一個無參 元函數; f<>::type 是一個 類型名
語義: x 為元函數調用的結果
typedef f<a1,... an>::type x;
前置條件: f 是一個 n-元 元函數; a1,... an 是類型;f<a1,...an>::type 是一個 類型名
語義: x 為以實參 a1,... an 調用元函數所得的結果

Models

參見

元函數, 元函數類, Lambda 表達式, 調用, apply, lambda, bind