Chcę wiedzieć, czy jest to w ogóle możliwe, że kod, który ma następujące zachowanie:parametry szablonu Szablon bez podania wewnętrzną typu
int main()
{
func<vector>(/*some arguments*/);
}
Oznacza to, że chcę, aby być w stanie określić kontener bez określania typu, na którym działa.
Na przykład, niektóre (meta) kod (który nie działa z powyższych), które mogłyby określić func
byłby następujący:
template<typename ContainerType>
int func(/*some parameters*/)
{
ContainerType<int> some_container;
/*
operate on some_container here
*/
return find_value(some_container);
}
Cóż, już masz odpowiedź w tytule pytania ... –
@dasblinkenlight: To jest wyjątkowo możliwe. Potrzebujesz parametru szablonu szablonu, dokładnie tak, jak mówi OP w pytaniu. –
Należy pamiętać, że chociaż istnieją parametry szablonów szablonów, rzadko są one właściwą metodą parametryzowania. Zwykle lepiej jest parametryzować na typie i wyodrębniać cechy typów za pomocą cech. –