C++容器和迭代器问题

发布于 2021-11-15 06:57:50 字数 144 浏览 818 评论 10

最近在学习<<The c++ Standard Library>> ; 关于"容器"和"迭代器",这个两词在很多高级语言中提到过(pytho,ruby,c++),现在就是对这两个名词有一种似懂非懂的感觉,敬请诸位能否通俗解释这两个名词的意思?非常感谢.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

海之角 2021-11-17 06:23:37

算法和数据结构的分离,总得给起个名字

卸妝后依然美 2021-11-17 06:12:11

容器:装东西的器具。这里你可以类比看成是装数据的容器。链表可以看成一个容器。每个节点都装有定义的数据。

迭代器:你可把他看成一个游标。他指向容器中的某个数据。你也可以理解迭代器是一个指针。

奢华的一滴泪 2021-11-17 05:43:58

int a[10], i = 0;

for (i = 0; i < 10; i++) {
    //do something with a[i]
}

a就是容器,i就是迭代器

 

毁梦 2021-11-17 04:16:21

int a[10], i = 0;

for (i = 0; i < 10; i++) {
    //do something with a[i]
}

a就是容器,i就是迭代器

 

悸初 2021-11-16 23:50:45

容器:装东西的器具。这里你可以类比看成是装数据的容器。链表可以看成一个容器。每个节点都装有定义的数据。

迭代器:你可把他看成一个游标。他指向容器中的某个数据。你也可以理解迭代器是一个指针。

执手闯天涯 2021-11-16 23:19:27

我的理解,容器就是数据类型,什么数组啊、栈啊、字典啊之类的。

迭代器,就是这个容器的专用工作指针,针对容器做了很多优化,比如下标越界检查什么的

好听的两个字的网名 2021-11-16 14:06:26

我的理解,容器就是数据类型,什么数组啊、栈啊、字典啊之类的。

迭代器,就是这个容器的专用工作指针,针对容器做了很多优化,比如下标越界检查什么的

裸钻 2021-11-16 12:43:37
#include <iostream>
#include <vector>
using namespace std;

const int kSize = 4;
int main()
{
    int myints[] = {16, 2, 77, 29};
    vector<int> first(myints , myints + kSize);

    for (auto i = myints; i != myints + kSize ; i++)
        cout << *i << endl;

    cout << string(20, '=') << endl;
    for (auto i = first.begin(); i != first.end() ; i++)
        cout << *i << endl;
        
    return 0;
}

可以看下理解下代码 

冷弦 2021-11-15 19:07:40

容器:装东西的器具。这里你可以类比看成是装数据的容器。链表可以看成一个容器。每个节点都装有定义的数据。

迭代器:你可把他看成一个游标。他指向容器中的某个数据。你也可以理解迭代器是一个指针。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文