考虑一个实现容器的类模板,该容器包括一个用于选择其存储位置的选项。
template<class T>
class Container {
public:
enum StorageOption {A,B};
Container(StorageOption opt_): option(opt_) {}
private:
StorageOption option;
};
这里StorageOption
被选为成员,因为它只在课堂上使用。
现在,要实例化类,我需要重复模板参数,例如:
{
Container<int> c( Container<int>::A );
}
有没有办法避免重复参数并同时StorageOption
成为成员,或者有没有更好的方法来实现该选项?