我尝试从文件中读取行,每5行推入一个deque dq,然后将dq推入一个deque队列。dq连续得到5行,但是在将dq push_back成ques之后,调试器显示一个空队列被插入到ques中,如下所示是调试器的输出。
ques std::__1::deque<std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::allocator<std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > > size=1
[0] std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > size=5
[0]
[1]
[2]
[3]
[4]
dq std::__1::deque<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > size=5
[0]=std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > "CCCGGGT"
[1] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > "CCCCGCA"
[2] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > "GGGCCTC"
[3] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > "GGGGGGC"
[4] std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > "TTTGCCT"知道出什么问题了吗?
deque<deque<string>>ques;
deque<string> dq;
while (std::getline(inputstream, line))
{
if(linecount<5)
{
dq.push_back(line);
linecount++;
}
else if (linecount == 5)
{
deque<string> dq2;
dq2 = dq;
ques.push_back(dq2);
linecount=0;
dq.clear();
}
}发布于 2015-06-23 06:45:09
最后找到我所期望的代码。调试显示ques的内容为空。但实际上,它是有元素的。我可以数一数它的内容。不知道为什么调试器不显示双队列中的双队列的内容。
https://stackoverflow.com/questions/30978691
复制相似问题