K
とV
は、テンプレートパラメータであり、彼らはEntry
のユーザーが望む任意のデータ型を指定できますありがとうございます。
k
およびv
は、Entry
コンストラクタの入力パラメータです。それらはconst参照によって渡されており、デフォルト値が指定されています。K()
はデフォルトでのtempオブジェクトを作成し、V()
はデフォルトのV
のtempオブジェクトを作成します。 Entry
オブジェクトインスタンスの作成時に明示的な入力値を指定しないと、デフォルト値が代わりに使用されます。例えば
:
Entry<int, int> e1(1, 2);
// K = int, k = 1
// V = int, v = 2
Entry<int, int> e2(1);
// aka Entry<int, int> e2(1, int())
// K = int, k = 1
// V = int, v = 0
Entry<int, int> e3;
// aka Entry<int, int> e3(int(), int())
// K = int, k = 0
// V = int, v = 0
Entry<std::string, std::string> e4("key", "value");
// K = std::string, k = "key"
// V = std::string, v = "value"
Entry<std::string, std::string> e5("key");
// aka Entry<std::string, std::string> e4("key", std::string())
// K = std::string, k = "key"
// V = std::string, v = ""
Entry<std::string, std::string> e6;
// aka Entry<std::string, std::string> e4(std::string(), std::string())
// K = std::string, k = ""
// V = std::string, v = ""
あなたは参照が何であるかを知っていますか?デフォルトの関数パラメータが何であるか知っていますか?もしあなたが[良いC + +の本](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)を取得する必要があります – NathanOliver
それは、C + +のテンプレート構文です。 KおよびVは、任意のタイプのクラスまたは構造であり得る。 – jesuisgenial
これはKとVのインスタンスをクラスのプライベートプロパティ – jesuisgenial