在关于我的类的工作室的问题之一中,它要求为2个不同的对象类型(列表,转发列表)创建迭代器,这些对象类型指向超出MOST EFFICIENT MANNER中每种类型的开头的2。我不确定什么是最有效的方式。
显然我可以使用for循环来移动迭代器两次,但我不确定这是你在寻找什么。我也试过使用下一个函数,但似乎没有用。有比for循环更好的方法吗?
auto it = list.begin()
for (int i = 0; i< 2; i++){
++iterator;
}
非常感谢您的时间!
答案 0 :(得分:1)
效率 - 对于这种情况 - 可以意味着有效使用内存,cpu周期,不重复工作等等。
练习最重要的方面是对将要使用的代码有一些了解。这不仅仅意味着您编写的代码,而是您使用的库中包含的代码。一旦熟悉了所有使用的代码,就可以开始分析它了。
一些想法:
阅读有关用于列表的迭代器和集合库。另请阅读他们的表现&#39;开始()&#39;和&#39; next()&#39;。如果没有关于此的文章,您可能需要查看源代码。
可以将int循环索引换成一个字节吗? (分裂头发)。