转换为基本 for 循环

Convert to basic for loop

本文关键字:for 循环 转换      更新时间:2023-10-16

有人可以帮助我理解这个 for 循环并将其转换为我习惯的基本形式吗?

我们被给予

for(vector<CFreq>::iterator it = frequencies.begin(); it != frequencies.end(); i++) 
{
HuffmanTree *node = new HuffmanTree(it->c, it->freq);
queue.push(node);
}

谢谢

您可以将循环编写为基于范围的循环,如下所示:

for (const CFreq& f : frequencies) {
  queue.push(new HuffmanTree(f.c, f.freq));
}

如果你的意思是通过按索引访问向量来循环,你可以试试这个:

for(size_t i = 0; i < frequencies.size(); i++) {
   queue.push(new HuffmanTree(frequencies[i].c, frequencies[i].freq));
}