Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;向量大小和迭代器结果大小不同_C++ - Fatal编程技术网

C++ C++;向量大小和迭代器结果大小不同

C++ C++;向量大小和迭代器结果大小不同,c++,C++,我最近发现了一个问题,但不知道它是否是一个bug 代码 leak_scc_.size()是4,但use iterator是2? 为什么迭代器只有2次? 我对C++了解不多,有人能帮我吗?在哪里使用在输出中生成2的迭代器?创建一个日志库,看起来您的日志库具有累积重复日志的功能:I chatty:uid=0(root)libmemunreach相同的2行,所以它看起来像它应该的那样工作,您只是误读了日志。在哪里使用迭代器来生成2 in输出?创建一个日志库,看起来您的日志库具有累积重复日志的功能:I

我最近发现了一个问题,但不知道它是否是一个bug

代码

leak_scc_.size()是4,但use iterator是2? 为什么迭代器只有2次?
我对C++了解不多,有人能帮我吗?

在哪里使用在输出中生成2的迭代器?创建一个日志库,看起来您的日志库具有累积重复日志的功能:
I chatty:uid=0(root)libmemunreach相同的2行
,所以它看起来像它应该的那样工作,您只是误读了日志。在哪里使用迭代器来生成2 in输出?创建一个日志库,看起来您的日志库具有累积重复日志的功能:
I chatty:uid=0(root)libmemunreach相同的2行
,所以它看起来像它应该的那样工作,您只是误读了日志。
void LeakFolding::ComputeDAG() {
  SCCList<LeakInfo> scc_list{allocator_};
  Tarjan(leak_graph_, scc_list);

  Allocator<SCCInfo> scc_allocator = allocator_;

  for (auto& scc_nodes : scc_list) {
    Allocator<SCCInfo>::unique_ptr leak_scc;
    leak_scc = scc_allocator.make_unique(scc_allocator);

    for (auto& node : scc_nodes) {
      node->ptr->scc = leak_scc.get();
      leak_scc->count++;
      leak_scc->size += node->ptr->range.size();
    }
    leak_scc_.emplace_back(std::move(leak_scc));
    MEM_ALOGI("debug leak_scc_ emplace_back after size: %d reference_in size: %d", (int)leak_scc_.size(), (int)leak_scc_.back()->node.references_in.size());
  }

  MEM_ALOGI("leak_scc_ size: %d", (int)leak_scc_.size());
  for (auto& it : leak_scc_){
        MEM_ALOGI("leak_scc_ node references_in_ size: %d.....", (int)it->node.references_in.size());
  }

  .....
}
04-29 18:17:53.208  3038  3037 I libmemunreachable: collecting thread info for process 3037...
04-29 18:17:53.211  3038  3037 I libmemunreachable: collection thread done
04-29 18:17:53.212  3039  3039 I libmemunreachable: searching process 3037 for allocations
04-29 18:17:53.213  3039  3039 I libmemunreachable: searching done
04-29 18:17:53.213  3039  3039 I libmemunreachable: sweeping process 3037 for unreachable memory
04-29 18:17:53.218  3039  3039 I libmemunreachable: sweeping done
04-29 18:17:53.218  3039  3039 I libmemunreachable: folding related leaks
04-29 18:17:53.218  3039  3039 I libmemunreachable: debug leak_scc_ emplace_back after size: 1 reference_in size: 0
04-29 18:17:53.218  3039  3039 I libmemunreachable: debug leak_scc_ emplace_back after size: 2 reference_in size: 0
04-29 18:17:53.218  3039  3039 I libmemunreachable: debug leak_scc_ emplace_back after size: 3 reference_in size: 0
04-29 18:17:53.218  3039  3039 I libmemunreachable: debug leak_scc_ emplace_back after size: 4 reference_in size: 0
04-29 18:17:53.218  3039  3039 I libmemunreachable: leak_scc_ size: 4
04-29 18:17:53.218  3039  3039 I libmemunreachable: leak_scc_ node references_in_ size: 0.....
04-29 18:17:53.219  3039  3039 I chatty  : uid=0(root) libmemunreachab identical 2 lines
04-29 18:17:53.219  3039  3039 I libmemunreachable: leak_scc_ node references_in_ size: 0.....
04-29 18:17:53.219  3039  3039 I libmemunreachable: debug node edge size 4 reference_in(0)  size 0
04-29 18:17:53.219  3039  3039 I libmemunreachable: debug leak_scc_ during after leak_scc_ size 4 reference_in(0)  size 1
04-29 18:17:53.219  3039  3039 I libmemunreachable: debug node edge size 4 reference_in(0)  size 1
04-29 18:17:53.219  3039  3039 I libmemunreachable: debug leak_scc_ during after leak_scc_ size 4 reference_in(0)  size 1
...