我想要一個帶有值參數的模板,除了在運行時不知道該值。例如,實現整數模數n。下面是一些粗糙的C++僞代碼:C++中的「動態模板」習語,是否有這樣的標準名稱?
class zmodn
{
int v; // the value, 0 <= v < n, n below
zmodn (int v_) : v(v_) { }
bool operator == (const zmodn &b) const { return v == b.v; }
...
};
class zmodn_dyntmpl
{
int n;
zmodn_dyntmpl (int n_) : n(n_) { }
zmodn create (int v_) { return new zmodn (v % n); }
zmodn add (zmodn a, zmodn b) { return zmodn ((a.v + b.v) % n); }
...
};
這裏,類zmodn_dyntmpl
基本上代表動態或運行時的模板。以同樣的方式實例化一個模板給一個類,實例化它給出一個「動態類」,其「實例」是zmodn
類型的對象。
我的問題是,這個成語是否有一個標準名稱?代表動態模板及其實例的類的正確名稱是什麼?
除了在調用'zmodn'的構造函數之前完成計算之外,它看起來像一個「表達式模板」思想的開始。 – Flexo
http://www.angelikalanger.com/Articles/Cuj/ExpressionTemplates/ExpressionTemplates.htm – Flexo