小编ele*_*cto的帖子

使用向量时无符号整数或迭代器?

我目前正在和一些朋友一起从事一个 C++ 学校项目。

在我在 C++ 中有向量之前,我做了这样的事情来使用它们:

unsigned int i = 0;
while (i != myVector.size())
{
    doSomething(myVector[i]);
    i++;
}
Run Code Online (Sandbox Code Playgroud)

但是在这个项目中,我的朋友们看到我使用这样的向量并不高兴,并要求我使用迭代器。我不太喜欢迭代器,因为它们的语法很难记住,但我的朋友们说使用它们更好,因为它工作得更快。由于我们正在一个包含大量向量的大项目中工作,因此使用迭代器至关重要。

时间已经过去了,即使我仍然不记得它们的语法,我仍在使用它们,但我想看看迭代器方法是否真的比“无符号整数”方法更快。

所以我做了这两个程序:

第一个使用 unsigned int 方法的程序:

#include <vector>
#include <string>
#include <iostream>

int main()
{
    std::string str = "This is a string";

    int i = 0;
    std::vector<std::string> vec;

    while (i != 10000000)
    {
        vec.push_back(str);
        i++;
    }

    unsigned int j = 0;
    while (j != vec.size())
    {
        std::cout << vec[j] << std::endl;
        j++;
    }
    return (0);
}
Run Code Online (Sandbox Code Playgroud)

第二个程序使用迭代器方法:

#include <vector>
#include …
Run Code Online (Sandbox Code Playgroud)

c++ iterator

1
推荐指数
1
解决办法
754
查看次数

标签 统计

c++ ×1

iterator ×1