2
我正在尝试创建一个使用表来存储数据的小概念验证数据库系统。 “表”是列的集合。每列可以有不同的类型。每个表可以有任意数量的列。不同类型的多个向量
理想情况下,我想是这样的:
class Table {
map<string, vector<T>> cols; //string is name of col, vector holds data
}
但是,向量的类型在编译时是已知的,所以我不能有多种类型(矢量INT,矢量双,等)在相同的地图。
我需要:
class Table {
map<string, vector<int>> int_cols;
map<string, vector<double>> double_cols;
//etc...
}
对于每一个我希望能够存储类型?
我觉得必须有更好的方法来做到这一点。
怎么样'Column'基类,有衍生'IntColumn','MarineMammalColumn'等,和'Table'含有'矢量'? –
Beta
你可以看看[Type Erasure](https://akrzemi1.wordpress.com/2013/11/18/type-erasure-part-i)吗? – iamOgunyinka
也许像[this](http://ideone.com/CZyAl8) – iamOgunyinka