C++ C++;向量大小和迭代器结果大小不同
我最近发现了一个问题,但不知道它是否是一个bug 代码 leak_scc_.size()是4,但use iterator是2? 为什么迭代器只有2次?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
我对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
...