`
shaxquan
  • 浏览: 14353 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

顺序容器的begin,front,end,back的区别

    博客分类:
  • C++
 
阅读更多

一下这段代码可以很清晰的表述出这四个函数的区别

ilist是一个list<int>类型

if (!ilist.empty()) {

 

// val 和val2 指向相同的元素

list<int>::reference val = *ilist.begin();

list<int>::reference val2 = ilist.front();

 

// last 和last2指向相同的元素

list<int>::reference last = *--ilist.end();

list<int>::reference last2 = ilist.back();

 

}

分享到:
评论

相关推荐

    顺序容器 顺序容器

    - **`back()`** 和 **`front()`**:分别返回容器的最后一个元素和第一个元素的引用。 - **`c[n]`** 和 **`at(n)`**:这两种方法均可用于访问指定索引的元素。其中`at(n)`会在索引无效时抛出异常。 #### 删除元素 ...

    C++Primer第五版 第9章 顺序容器(练习解答)

    5. **遍历容器**:使用范围for循环和迭代器遍历容器,了解`begin()`, `end()`, `rbegin()`, `rend()`的区别。 6. **容器操作**:掌握`swap()`, `clear()`, `erase()`等操作,理解其对容器的影响。 7. **容器比较**:...

    C++容器与队列

    - `end()` 返回指向容器中最后一个元素后一个位置的迭代器。注意,这个位置不是有效的元素位置,但它可以用于循环结束条件等。 - **front() 和 back()** - `front()` 返回对容器中第一个元素的引用。 - `back()` ...

    C++_容器详解

    int result = accumulate(listOne.begin(), listOne.end(), 0); cout ; return 0; } ``` 在上面的示例代码中,我们创建了一个链表对象,并向链表中添加了四个元素。然后,我们使用迭代器遍历链表,并显示链表中...

    C++之STL标准库容器成员一览表.pdf

    这些序列容器都提供了基本的成员函数,如push_back()、push_front()、insert()、erase()、clear()等,用于对容器中的元素进行操作。 关联容器 关联容器是一种特殊的数据结构,用于存储键值对。STL提供了以下几种...

    标准库文件

    每个容器都有`begin()`和`end()`成员函数,分别返回指向容器首元素的迭代器和一个超出容器范围的迭代器,允许程序员用迭代器进行循环遍历。 算法是STL的另一核心部分,它们是一组通用的函数对象和函数模板,用于对...

    C++中各种容器的用法

    * `c.erase(begin, end)`:删除begin,end区间的数据,返回指向下一个数据位置的指针(迭代器)。 * `c.clear();`:清除所有数据。 ### 4. 反转和交换 * `c.rbegin();`:将vector反转后的开始指针返回(其实就是...

    STL_vector容器介绍

    - **begin/end**: 返回指向容器中第一个/最后一个元素之后的迭代器。 - `c.begin()`: 返回指向容器中第一个元素的迭代器。 - `c.end()`: 返回指向容器中最后一个元素之后的迭代器。 - **capacity**: 返回容器当前...

    C++(STL库)之顺序容器vector的使用

    14. `v.insert(v.begin(), v2.end() - 2, v2.end())`: 将容器 v2 的最后两个元素插入容器 v 的头部,返回新添加元素的第一个元素的迭代器。 15. `v.push_back(t)`: 尾部追加元素 t。 16. `v.pop_back()`: 删除尾元素...

    C++容器知识点总结

    ### C++容器知识点总结 #### 一、Vector **理论** `Vector` 是 C++ 标准库中的一个动态数组容器。它支持随机访问,并且能够自动管理内存。`Vector` 的内部实现是一个连续的内存区域,这使得它可以提供快速的随机...

    P189~196C++string学习笔记.docx

    在学习 deque 容器时,我们需要记忆一些重要的函数原型,如 push_front()、pop_front()、push_back()、pop_back()、insert()、front()、back()、begin() 和 end() 等。这些函数可以帮助我们更好地操作 deque 容器。 ...

    STL容器和算法函数表

    - `reverse`: 反转容器中元素的顺序。 - `accumulate`: 对容器中元素求和。 - `upper_bound`, `lower_bound`: 查找元素的边界位置。 通过掌握STL容器和算法,可以显著提高C++编程的效率和代码质量,避免了重复造...

    STL容器使用代码

    例如,`iterator = container.begin()` 和 `iterator = container.end()` 分别表示容器的起始和结束位置,`*iterator` 可以获取当前迭代器指向的元素,`++iterator` 移动到下一个元素。 STL还提供了许多算法,如...

    C++STL容器.md

    - `reverse()`:反转容器中的元素顺序。 #### 三、关联式容器 关联式容器主要用于处理键值对,通常基于红黑树或哈希表实现,主要包括set、multiset、map和multimap等。 ##### 4. Set 容器 - **定义**:`set`是...

    STL的容器deque的使用

    - deque提供了`begin()`和`end()`返回迭代器,可以遍历deque的所有元素。 ### deque与vector的区别 - **内存分配**:deque由多个小块组成,而vector是一段连续的内存空间。这使得deque在两端操作更快,但随机访问...

    关联式容器序列式容器对比

    这些容器不像序列式容器(如vector、list)那样有明显的头部和尾部,也不提供push_back、push_front、pop_back、pop_front等操作。相反,关联式容器主要提供了对元素基于键值的快速查找、插入和删除功能,这得益于...

    STL容器 算法 函数表

    6. `begin()`和`end()`: 返回指向容器首尾元素的迭代器。 7. `rbegin()`和`rend()`: 返回反向迭代器,用于反向遍历容器。 8. `size()`: 返回容器中元素的数量。 9. `max_size()`: 返回容器能够容纳的最大元素数量。 ...

    c++STL基本容器用法带程序详解

    vector用于存储对象数组 常用方法 1.push_back 在数组的最后添加一个数据 2.pop_back 去掉数组的最后一个数据 3.at 得到编号位置的数据 4.begin 得到数组头的指针 5.end 得到数组的最后一个单元+1的指针 6.front ...

    深入研究 C++中的 STL Deque 容器

    `deque`还支持迭代器操作,包括`begin()`、`end()`、`rbegin()`和`rend()`,以及插入和删除元素的函数。 `deque`和`vector`的另一个关键区别在于内存分配策略。`vector`在增长时会一次性分配新的内存块并拷贝现有...

Global site tag (gtag.js) - Google Analytics