大家好,欢迎来到IT知识分享网。
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!
优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀
人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮
1.前言
本篇目的:理解C++之map迭代器函数begin、end、rbegin、rend、cbegin、cend、crbegin、crend用法。
在C++中,map是一种关联容器,用于存储键-值对(key-value)数据。map提供了多种迭代器函数来遍历和访问其中的元素。
-
begin()
函数返回一个指向map
中第一个键值对的迭代器。
-
end()
函数返回一个指向map
末尾的迭代器,它并不指向实际的元素,而是指向末尾的下一个位置。
-
rbegin()
函数返回一个指向map
末尾的逆向迭代器,即指向最后一个键值对的迭代器。
-
rend()
函数返回一个指向map
开头的逆向迭代器,它并不指向实际的元素,而是指向开头的前一个位置。
-
cbegin()
函数和begin()
函数类似,返回一个指向map
中第一个键值对的常量迭代器。
-
cend()
函数和end()
函数类似,返回一个指向map
末尾的常量迭代器。
-
crbegin()
函数和rbegin()
函数类似,返回一个指向map
末尾的常量逆向迭代器。
-
crend()
函数和rend()
函数类似,返回一个指向map
开头的常量逆向迭代器。
这些迭代器函数可以用于遍历map中的元素,无论是正向还是逆向遍历。常量版本的迭代器函数(带有”c”前缀)返回的迭代器对象只能用来读取元素,不能修改元素值。
2.应用实例
1. begin()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto it = numbers.begin(); std::cout << "The first element: " << *it << std::endl; return 0; }
2. end()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto it = numbers.end() - 1; std::cout << "The last element: " << *it << std::endl; return 0; }
3. rbegin()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto rit = numbers.rbegin(); std::cout << "The last element (reversed): " << *rit << std::endl; return 0; }
4. rend()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto rit = numbers.rend() - 1; std::cout << "The first element (reversed): " << *rit << std::endl; return 0; }
5. cbegin()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto it = numbers.cbegin(); std::cout << "The first constant element: " << *it << std::endl; return 0; }
6. cend()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto it = numbers.cend() - 1; std::cout << "The last constant element: " << *it << std::endl; return 0; }
7. crbegin()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto rit = numbers.crbegin(); std::cout << "The last constant element (reversed): " << *rit << std::endl; return 0; }
8. crend()
函数:
#include <iostream> #include <vector> int main() {
std::vector<int> numbers = {
1, 2, 3, 4, 5}; auto rit = numbers.crend() - 1; std::cout << "The first constant element (reversed): " << *rit << std::endl; return 0; }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/146408.html