は:標準コンテナにC++汎用インサート?私は、次のプログラムがある場合
#include <vector>
#include <set>
template<class T, class U>
void AddToContainer(T& container, U value)
{
container.push_back(value);
}
int main(char**, int)
{
std::vector<int> v;
AddToContainer(v, 1);
std::set<int> s;
AddToContainer(s, 1);
return 0;
}
をどのように私は、ジェネリックコンテナに追加することができますか? std::set
にはpush_back
がなく、insert
しかないので、これはコンパイルに失敗します。
これは良いアイデアのようなものですが、実際には決してそうではありません。 –
STLには既に静的な多形性*がありますが、結局のところ、それは設計目標の1つです。あなたが提案しているのは、単にあなたの 'AddToContainer'のクライアントに非効率的になるよう促すことです。 – marko