首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >push_back a deque后deque<deque>为空

push_back a deque后deque<deque>为空
EN

Stack Overflow用户
提问于 2015-06-22 19:21:28
回答 1查看 548关注 0票数 0

我尝试从文件中读取行,每5行推入一个deque dq,然后将dq推入一个deque队列。dq连续得到5行,但是在将dq push_back成ques之后,调试器显示一个空队列被插入到ques中,如下所示是调试器的输出。

代码语言:javascript
复制
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"

知道出什么问题了吗?

代码语言:javascript
复制
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();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-06-23 06:45:09

最后找到我所期望的代码。调试显示ques的内容为空。但实际上,它是有元素的。我可以数一数它的内容。不知道为什么调试器不显示双队列中的双队列的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30978691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档