在C ++库数组中,在哪些情况下,拥有.begin()
和.end()
成员函数很有用?
在cplusplus.com上,示例用法是遍历数组:
for ( auto it = myarray.begin(); it != myarray.end(); ++it )
但是
for (int i = 0; i < myarray.size(); i++)
可用于此。
答案 0 :(得分:26)
InitializeComponent()
和begin()
返回迭代器。迭代器提供统一的语法来访问不同类型的容器。乍一看,它们看起来像是遍历一个简单的数组,但考虑到您可以编写相同的代码来遍历列表或地图。
这种对各种容器的统一访问将允许您编写适用于所有容器的算法,而无需了解其内部结构。从开始到结束的for循环只是一个更大的马赛克中的第一块。只需查看standard algorithms列表即可欣赏这种简单抽象的强大功能。
答案 1 :(得分:10)
标准容器的重点是能够更改它们并使用相同的语法。如果您有链接列表,则第一种语法仍然有效。
它也相当于一个指针。我是一个索引,所以myarray [i]比它慢一点。
答案 2 :(得分:7)
除了与其他容器通用外,shell_exec('python /home/forge/default/public/test.py http://csgo.steamanalyst.com/id/195/XM1014-GRASSLAND-WELL-WORN');
,begin
对范围
end
答案 3 :(得分:0)
现在尝试迭代链表。唯一有效的方法是从一个项目迭代到下一个项目,直到你到达终点。