我正在通過boost::variant
,想知道如何才能使下面的工作?從istream中讀取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
做到這一點?
關聯,得到你想說的話,這真的是很好的方法。但由於某種原因,我把所有的都當作'string'。我正在使用MingW 4.7.2 – P0W
@ P0W你是指輸出中的所有字符串?即使你輸入了整數並且輸入了我發佈的確切代碼? – jrok
@PW Nevermind,'if'語句中存在一個愚蠢的錯誤,修正了。 – jrok