获取传递给模板函数的std :: map的值类型

URL*_*L87 2 c++ templates dictionary

有模板功能 -

template <class B>
B getValue (B& map) {
    // implementation ...       
}
Run Code Online (Sandbox Code Playgroud)

对于这个功能一个传递a map,像 -

map<string,double> doubleMap;
getValue (doubleMap);
Run Code Online (Sandbox Code Playgroud)

因此,例如,在这种情况下,如果我想将设置返回值的函数来double根据doubleMap我应该提取value 类型的这种map ,另外,如果我想声明的双(或根据通过地图的任何其他类型的)我必须有这个..

我怎么才能得到它 ?

arn*_*noo 6

std::map定义成员类型key_typemapped_type.

你想要的是B::mapped_type,double在你的情况下.