交友视频网站建设,高明区住房和城乡建设局网站,网页编辑器dw,营销活动推广策划简介#xff1a; CSDN博客专家#xff0c;专注Android/Linux系统#xff0c;分享多mic语音方案、音视频、编解码等技术#xff0c;与大家一起成长#xff01; 优质专栏#xff1a;Audio工程师进阶系列【原创干货持续更新中……】#x1f680; 人生格言#xff1a; 人生… 简介 CSDN博客专家专注Android/Linux系统分享多mic语音方案、音视频、编解码等技术与大家一起成长 优质专栏Audio工程师进阶系列【原创干货持续更新中……】 人生格言 人生从来没有捷径只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注Android系统攻城狮 1.前言 本篇目的理解C之vector成员函数begin、end、rebegin、rend、cbegin、cend、crbegin、crend作用。 C的vector是一种动态数组它提供了一系列成员函数来操作和访问其元素。下面是这些成员函数的作用和用法 begin()返回指向vector第一个元素的迭代器。 end()返回指向vector最后一个元素的下一个位置的迭代器。 rbegin()返回指向vector最后一个元素的迭代器用于逆向遍历。 rend()返回指向vector第一个元素前一个位置的逆向迭代器用于逆向遍历的结束位置。 cbegin()与begin()类似返回指向vector第一个元素的const迭代器不允许修改元素。 cend()与end()类似返回指向vector最后一个元素的下一个位置的const迭代器不允许修改元素。 crbegin()与rbegin()类似返回指向vector最后一个元素的const逆向迭代器逆向不可修改。 crend()与rend()类似返回指向vector第一个元素前一个位置的const逆向迭代器逆向不可修改。
2.应用实例
1. begin()函数返回一个指向vector第一个元素的迭代器。
#include iostream
#include vectorint main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用begin()函数获取第一个元素的迭代器std::vectorint::iterator it vec.begin();// 输出第一个元素std::cout 第一个元素 *it std::endl;return 0;
}2. end()函数返回一个指向vector最后一个元素的下一个位置的迭代器。
#include iostream
#include vectorint main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用end()函数获取最后一个元素的下一个位置的迭代器std::vectorint::iterator it vec.end();// 输出最后一个元素的下一个位置的元素此时应为未定义的值std::cout 最后一个元素的下一个位置的元素 *it std::endl;return 0;
}3. rbegin()函数返回一个指向vector最后一个元素的逆向迭代器。
#include iostream
#include vectorint main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用rbegin()函数获取最后一个元素的逆向迭代器std::vectorint::reverse_iterator rit vec.rbegin();// 输出最后一个元素std::cout 最后一个元素 *rit std::endl;return 0;
}4. rend()函数返回一个指向vector第一个元素的前一个位置的逆向迭代器。
#include iostream
#include vectorint main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用rend()函数获取第一个元素的前一个位置的逆向迭代器std::vectorint::reverse_iterator rit vec.rend();// 输出第一个元素的前一个位置的元素此时应为未定义的值std::cout 第一个元素的前一个位置的元素 *rit std::endl;return 0;
}5. cbegin()函数与begin()类似返回一个指向vector第一个元素的const迭代器用于访问vector的元素但不能修改它们。
#include iostream
#include vectorint main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用cbegin()函数获取第一个元素的const迭代器std::vectorint::const_iterator it vec.cbegin();// 尝试修改第一个元素将会编译错误//*it 10;// 输出第一个元素std::cout 第一个元素 *it std::endl;return 0;
}6. cend()函数与end()类似返回一个指向vector最后一个元素的下一个位置的const迭代器用于访问vector的元素但不能修改它们。
#include iostream
#include vectorint main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用cend()函数获取最后一个元素的下一个位置的const迭代器std::vectorint::const_iterator it vec.cend();// 尝试修改最后一个元素的下一个位置的元素将会编译错误//*it 10;// 输出最后一个元素的下一个位置的元素此时应为未定义的值std::cout 最后一个元素的下一个位置的元素 *it std::endl;return 0;
}7. crbegin()函数与rbegin()类似返回一个指向vector最后一个元素的const逆向迭代器用于访问vector的元素但不能修改它们。
#include iostream
#include vector
int main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用crbegin()函数获取最后一个元素的const逆向迭代器std::vectorint::const_reverse_iterator rit vec.crbegin();// 尝试修改最后一个元素将会编译错误//*rit 10;// 输出最后一个元素std::cout 最后一个元素 *rit std::endl;return 0;
}8. crend()函数与rend()类似返回一个指向vector第一个元素的前一个位置的const逆向迭代器用于访问vector的元素但不能修改它们。
#include iostream
#include vectorint main() {std::vectorint vec {1, 2, 3, 4, 5};// 使用crend()函数获取第一个元素的前一个位置的const逆向迭代器std::vectorint::const_reverse_iterator rit vec.crend();// 尝试修改第一个元素的前一个位置的元素将会编译错误//*rit 10;// 输出第一个元素的前一个位置的元素此时应为未定义的值std::cout 第一个元素的前一个位置的元素 *rit std::endl;return 0;
}