当前位置: 首页 > news >正文

C++基础入门——Vetor与函数

1. Vector

Vector其实很大程度上和数组一样,只是,数组是固定长度,而vector是不定长度(动态增长)。 假设我们需要记录明年的测试成绩,但是我们并不知道明年会有多少个学生。那么可以有两种选择,定义一个固定长度的数组,这个长度超过假设的长度, 另一种办法就是使用动态数组,比如是: vector

vector 在C++STL(标准模板库)中的一个容器,可以看成是对容器的一种扩展。在运行时可以改变长度 , 与数组具有相似的语法 , 相比数组更高效 , 提供越界检查。

使用vector除了要导入#include之外,由于它声明于std命名空间里面,所以要配合std命名空间使用。


#include <iostream>
#include <vector>
using namespace std;

int main(){
	//定义: vector <变量类型> 变量名 {变量值};
	vector<char> name {'a','b','c'};
    
    //数组方式访问
	cout << "name: " <<name[0] << endl;
	//使用.at()方法访问,越界会抛出异常
	cout << "name: " <<name.at(1) << endl;
	//修改vector中的元素
	name.at(1) = 'd';
	cout << "name: " << name.at(1) << endl;
	//向vector中增加元素
	name.push_back('e');
	cout << "name: " << name.at(3)<< endl;
	
	vector<int> test_score {100,90,85};
    cout << "第一个成绩是: " <<test_score[0] << endl;
    cout << "第二个成绩是: " <<test_score[1] << endl;
    cout << "第三个成绩是: " <<test_score[2] << endl;

    cout << "第三个成绩是: " <<test_score[3] << endl;  //不会检查越界


	// 使用下标遍历
	for(int i=0;i<name.size();i++){
		cout << "name: " << name.at(i)<< endl;
	}
	
    //使用for范围遍历
	for (char i: name){
		cout << "name: " << i<< endl;
	}


    //二维vector  定义: vector <vector<变量类型>> 变量名 {{变量值}};
	vector<vector<int>> score{
		{95,77,80,85},
		{100,78,82,83},
		{96,79,83,85},
		{97,80,84,85}
		};
	for (int i=0;i<score.size();i++){
		for(int j=0;j<score[i].size();j++){
			cout<<score[i][j]<<"\t";
		
		
		}
		cout<<endl;
	
	}


    return 0 ;   
}

相关文章:

  • 华为机试牛客刷题之HJ11 数字颠倒
  • KylinSP3 | 防火墙和麒麟安全增强设置KySec
  • 【电机控制器】ESP32-C3语言模型——通义千问
  • 数据库 安装initializing database不通过
  • 货车一键启动无钥匙进入手机远程启动的正确使用方法
  • 【SpringBoot】——分组校验、自定义注解、登入验证(集成redis)、属性配置方式、多环境开发系统学习知识
  • python zipfile
  • 在spring项目中,引入mybatis
  • PCB设计常用布局布线方法
  • 错误 MSB3073 命令“setlocal“
  • Vue中环境配置的若干问题解决
  • 蓝桥杯刷题-dp-线性dp(守望者的逃离,摆花,线段)
  • HTML解析 → DOM树 CSS解析 → CSSOM → 合并 → 渲染树 → 布局 → 绘制 → 合成 → 屏幕显示
  • Redis存储​⑫​哨兵Sentinel_高可用实现方案
  • [C]基础10.深入理解指针(2)
  • 数据结构--排序
  • 一个std::async的示例
  • 鸿蒙Next-方法装饰器以及防抖方法注解实现
  • 项目管理的数字化转型:趋势与实践——从工具革新到效率革命
  • Spring MVC 的执行流程解析:从用户请求到响应返回
  • 网站空间域名一次性收费还是一年一算/百度一下你就知道网页
  • 做外贸什么网站比较好/泾县网站seo优化排名
  • 网站 标题 关键词 描述/广州番禺发布网
  • jsp网站开发详解 下载/深圳白帽优化
  • 电影网页设计素材/南宁百度快速优化
  • 做网站建设网站制作/100个免费推广b站