前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C++】STL 容器 - vector 动态数组容器 ⑤ ( vector 容器元素访问 | at 函数 | [] 运算符重载 函数 | vector 容器首尾元素访问 )

【C++】STL 容器 - vector 动态数组容器 ⑤ ( vector 容器元素访问 | at 函数 | [] 运算符重载 函数 | vector 容器首尾元素访问 )

作者头像
韩曙亮
发布2023-12-20 09:50:40
1500
发布2023-12-20 09:50:40
举报
文章被收录于专栏:韩曙亮的移动开发专栏
文章目录
  • 一、 vector 容器元素访问
    • 1、vector 容器访问指定索引的元素 - at 函数
    • 2、vector 容器访问指定索引的元素 - [] 运算符重载 函数
  • 二、 vector 容器首尾元素访问
    • 1、vector 容器首尾元素访问函数
    • 2、代码示例 - vector 容器首尾元素访问

一、 vector 容器元素访问


1、vector 容器访问指定索引的元素 - at 函数

vector 容器访问指定索引的元素 , 可以使用 at() 函数 和 [] 操作符 ;

vector 类的 at 函数 , 可以访问指定索引位置的元素 , 函数原型如下 :

代码语言:javascript
复制
const_reference at(size_type pos) const;

该函数返回容器中指定位置的元素的常量引用 ;

特别注意 : 如果指定的位置超出了容器的范围 , at 函数会抛出 std::out_of_range 异常 , 在使用 at 函数之前 , 最好先检查位置是否在容器的范围内 ;

推荐使用 [0, vec.size() - 1] 闭区间之间的索引值 ;

在进行遍历时 , 推荐使用

代码语言:javascript
复制
    for (int i = 0; i < vec.size(); i++) {}

作为遍历条件 ;

代码示例 :

代码语言:javascript
复制
#include "iostream"
using namespace std;
#include "vector"

int main() {

    // 创建空的 vector 容器
    std::vector<int> vec{1, 2, 3};

    // 遍历打印 vector 容器的内容 
    for (int i = 0; i < vec.size(); i++) {
        std::cout << vec.at(i) << ' ';
    }
    std::cout << std::endl;

	
	// 控制台暂停 , 按任意键继续向后执行
	system("pause");

	return 0;
};

执行结果 :

1 2 3 Press any key to continue . . .

在这里插入图片描述
在这里插入图片描述

2、vector 容器访问指定索引的元素 - [] 运算符重载 函数

vector 容器可以使用 [] 运算符访问其元素 , 调用的是 [] 运算符重载 函数 , 函数原型如下 :

代码语言:javascript
复制
reference operator[](size_type pos);  

该函数返回 vector 容器中指定位置的元素的引用 ;

该 [] 运算符重载函数 与 at 函数一样 , 如果 位置参数 超出了容器的范围 , [] 运算符重载函数 会抛出异常 ;

因此,在使用 [] 运算符重载之前,也应该先检查位置是否在容器的范围内 ;

代码示例 :

代码语言:javascript
复制
#include "iostream"
using namespace std;
#include "vector"

int main() {

    // 创建空的 vector 容器
    std::vector<int> vec{1, 2, 3};

    // 遍历打印 vector 容器的内容 
    for (int i = 0; i < vec.size(); i++) {
        std::cout << vec[i] << ' ';
    }
    std::cout << std::endl;

	
	// 控制台暂停 , 按任意键继续向后执行
	system("pause");

	return 0;
};
在这里插入图片描述
在这里插入图片描述

二、 vector 容器首尾元素访问


1、vector 容器首尾元素访问函数

vector 容器首尾元素访问函数 :

  • 访问 vector 容器首元素 : vector 容器类的 front() 成员函数返回一个常量引用 , 表示容器中的第一个元素 ;
代码语言:javascript
复制
const_reference front() const noexcept;
  • 访问 vector 容器尾元素 : vector 容器类的 back() 成员函数返回一个常量引用 , 表示容器中的最后一个元素 ;
代码语言:javascript
复制
const_reference back() const noexcept;

2、代码示例 - vector 容器首尾元素访问

代码示例 :

代码语言:javascript
复制
#include "iostream"
using namespace std;
#include "vector"

int main() {

    // 创建空的 vector 容器
    std::vector<int> vec{1, 2, 3};

    // 遍历打印 vector 容器的内容 
    for (int i = 0; i < vec.size(); i++) {
        std::cout << vec[i] << ' ';
    }
    std::cout << std::endl;

    std::cout << "首元素 : " << vec.front() << std::endl;
    std::cout << "尾元素 : " << vec.back() << std::endl;

	
	// 控制台暂停 , 按任意键继续向后执行
	system("pause");

	return 0;
};

执行结果 :

1 2 3 首元素 : 1 尾元素 : 3 Press any key to continue . . .

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、 vector 容器元素访问
    • 1、vector 容器访问指定索引的元素 - at 函数
      • 2、vector 容器访问指定索引的元素 - [] 运算符重载 函数
      • 二、 vector 容器首尾元素访问
        • 1、vector 容器首尾元素访问函数
          • 2、代码示例 - vector 容器首尾元素访问
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档