C++之vector元素访问函数operator[]、at、front、back、data总结(二百零三)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中......】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.
更多原创,欢迎关注:Android系统攻城狮

1.前言

本篇目的:理解C++之vector元素访问函数operator\[\]、at、front、back、data用法

    1. operator[]
    • 作用:通过索引访问vector中的元素。
    • 用法:使用operator[]函数,通过指定索引来访问vector中的元素。索引从0开始,可以使用整数或表达式作为索引。
    1. at
    • 作用:通过索引访问vector中的元素,并提供边界检查。
    • 用法:使用at函数,通过指定索引来访问vector中的元素。与operator[]相比,at函数会进行边界检查,若索引超出范围,则会抛出std::out_of_range异常。
    1. front
    • 作用:返回vector的第一个元素的引用。
    • 用法:使用front函数,返回vector的第一个元素的引用。
    1. back
    • 作用:返回vector的最后一个元素的引用。
    • 用法:使用back函数,返回vector的最后一个元素的引用。
    1. data
    • 作用:返回指向vector内部存储元素的指针。
    • 用法:使用data函数,返回指向vector内部存储元素的指针。可以通过该指针来直接访问和修改vector的元素。

2.应用实例

1. operator[]: 通过索引访问vector中的元素,类似于数组的下标访问。

cpp 复制代码
#include <iostream>
#include <vector>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};

    // 使用operator[]访问vector元素
    int element = nums[2];  // 访问索引为2的元素,值为3
    std::cout << "Element at index 2: " << element << std::endl;

    return 0;
}

2. at: 通过索引访问vector中的元素,与operator[]类似,但提供了边界检查,如果索引超出范围,会抛出std::out_of_range异常。

cpp 复制代码
#include <iostream>
#include <vector>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};

    // 使用at访问vector元素
    int element = nums.at(3);  // 访问索引为3的元素,值为4
    std::cout << "Element at index 3: " << element << std::endl;

    return 0;
}

3. front: 返回vector中的第一个元素。

cpp 复制代码
#include <iostream>
#include <vector>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};

    // 使用front访问vector的第一个元素
    int firstElement = nums.front();  // 第一个元素,值为1
    std::cout << "First element: " << firstElement << std::endl;

    return 0;
}

4. back: 返回vector中的最后一个元素。

cpp 复制代码
#include <iostream>
#include <vector>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};

    // 使用back访问vector的最后一个元素
    int lastElement = nums.back();  // 最后一个元素,值为5
    std::cout << "Last element: " << lastElement << std::endl;

    return 0;
}

5. data: 返回指向vector中第一个元素的指针。

cpp 复制代码
#include <iostream>
#include <vector>

int main() {
    std::vector<int> nums = {1, 2, 3, 4, 5};

    // 使用data返回指向vector第一个元素的指针
    int* ptr = nums.data();
    std::cout << "First element using data pointer: " << *ptr << std::endl;

    return 0;
}
相关推荐
ChillCoding1 分钟前
更新中:C++ STL库,查找排序(基础算法),数据结构,数学算法,竞赛相关基础
数据结构·c++·算法
abcy0712132 分钟前
sqlalchemy 原生sql判断条件是否为空,为空则跳过
开发语言·python
智者知已应修善业6 分钟前
【51单片机使用IO组赋值方法实现无源蜂鸣器响时LED12亮不响时34亮】2024-3-7
c++·经验分享·笔记·算法·51单片机
.千余8 分钟前
【C++】深挖STL list底层:解迭代器与节点存储逻辑
开发语言·c++·笔记·学习·其他
淡水瑜10 分钟前
C# 实操
开发语言·c#
雪落漂泊10 分钟前
C++ 继承与多态(上)
开发语言·c++
skywalk816311 分钟前
我想基于kotti-py312 ,制作一个多中文编程语言的宣传网站,主要包括文档、playground 示例和学习 (Codearts制作)
开发语言·学习·编程
聆风吟º16 分钟前
【C++11新章】列表初始化详解
开发语言·c++·列表初始化
alwaysrun17 分钟前
C++之灵活易用的YAML解析库yaml-cpp
c++·后端·程序员
闪电悠米23 分钟前
黑马点评-秒杀优化-04_lua_and_db_fallback
服务器·开发语言·网络·数据库·缓存·junit·lua