これは私の(おそらく少し奇妙な)考えstd::setです。後で使用するためにいくつかのものを含むオブジェクトを定義したいとしますが、残念ながら、どのタイプがstd::set<not-sure>テンプレートargとして渡されるかわからないため、このnot-sureタイプが決定されます。次のような文字列を介して:
class X {
public:
foo()
{
char not_sure_type[20];
scanf("%s", not_sure_type);
if (strcmp(not_sure_type, "int"))
// then std::set<int>
else if (// "char")
// then std::set<char>
}
private:
void * _set;
};
このようにして、それstd::set<int>がインスタンス化されるかどうかを判断できますよね?しかし、どう_setすればあなたが指さなければならないことを知ることができますstd::set<int>か?それを知らずに、私も前後static_castにキャストするために使用する_setことvoid *はできません。std::set<int>*
std::set<int>では、後で使用するために、データメンバーのように保存できますか?
どんなアイデアでも大歓迎です。