我正在研究 boost::variant
,想知道如何使以下内容工作?
typedef boost::variant<int,std::string> myval;
int main()
{
std::vector<myval> vec;
std::ifstream fin("temp.txt");
//How following can be achieved ?
std::copy(std::istream_iterator<myval>(fin), //Can this be from std::cin too ?
std::istream_iterator<myval>(),
std::back_inserter(vec));
}
对于类的数据成员,我们可以重载>>
运算符,但是如何在myval
中实现呢?