私には、D テンプレートのすべての例を速記で書いた教授がいます。
T exec(alias f,T)(T t) {
return f(t);
}
これが何を意味するのかを説明する例が見つかりません。誰かここで説明できますか?
私には、D テンプレートのすべての例を速記で書いた教授がいます。
T exec(alias f,T)(T t) {
return f(t);
}
これが何を意味するのかを説明する例が見つかりません。誰かここで説明できますか?
T exec(alias f,T)(T t) {
return f(t);
}
これは簡略化されたテンプレート関数です。« 通常の書き方 » は次のとおりです。
template exec(alias f, T) {
T exec(T t) {
return f(t);
}
}
ではD
、テンプレート スコープ内のシンボルがテンプレート自体と同じ名前の場合、それをテンプレートとして使用できます (エイリアスのようなものです)。
次に、alias
テンプレート パラメーターは、それが何でもかまいません – 任意のシンボルであることを意味します。ここでは、デリゲート、関数、フォンクターなど、何でもかまいません。先生がstd.functional.unaryFun
.
パラメータはT
、C++ と同様に、単なる型シンボルです。
その関数はファンクターを適用するだけです。最強のバージョンは次のとおりです。
https://github.com/D-Programming-Language/phobos/blob/master/std/functional.d#L39