值得一看
广告
彩虹云商城
广告

热门广告位

C++ 如何使用 vector_C++ vector 动态数组用法入门

vector是C++中动态数组容器,需包含<vector>头文件,支持自动内存管理;声明如vector<int> nums;常用操作有push_back添加元素、size获取大小、下标或at访问、pop_back删除末尾、clear清空、empty判断是否为空;可列表初始化如{1,2,3}或指定数量和初始值;遍历推荐范围for循环,修改时用引用。

c++ 如何使用 vector_c++ vector 动态数组用法入门

在 C++ 中,vector 是一种非常常用且强大的动态数组容器,定义在 <vector> 头文件中。它能自动管理内存,支持在运行时动态添加或删除元素,相比普通数组更加灵活安全。

包含头文件并声明 vector

使用 vector 前必须包含对应的头文件:

#include <vector>
using namespace std;

声明一个 vector 的基本语法是:

vector<数据类型> 变量名;

例如:

立即学习“C++免费学习笔记(深入)”;

AppMall应用商店

AppMall应用商店

AI应用商店,提供即时交付、按需付费的人工智能应用服务

AppMall应用商店
56

查看详情
AppMall应用商店

  • vector<int> nums; —— 存储整数的动态数组
  • vector<double> scores; —— 存储浮点数
  • vector<string> names; —— 存储字符串

常用操作方法

vector 提供了丰富的成员函数来操作数据:

  • push_back(value):在末尾添加一个元素
    nums.push_back(10);
    nums.push_back(20);
  • size():返回当前元素个数
    cout << nums.size(); // 输出 2
  • 访问元素:可以用下标 [ ] 或 at() 函数
    cout << nums[0]; // 第一个元素
    cout << nums.at(1); // 第二个元素(带边界检查)
  • pop_back():删除最后一个元素
    nums.pop_back(); // 移除末尾元素
  • clear():清空所有元素
    nums.clear();
  • empty():判断是否为空,返回 true 或 false
    if (nums.empty()) cout << “空”;

初始化方式

vector 支持多种初始化方法:

  • vector<int> v = {1, 2, 3}; // 列表初始化
  • vector<int> v(5); // 创建 5 个元素,初始值为 0
  • vector<int> v(5, 10); // 5 个元素,每个都是 10
  • vector<int> v2(v); // 复制另一个 vector

遍历 vector

可以用普通 for 循环或范围 for(C++11 起):

// 方法一:下标遍历
for (int i = 0; i < nums.size(); ++i) {
  cout << nums[i] << ” “;
}

// 方法二:范围 for(推荐)
for (int x : nums) {
  cout << x << ” “;
}

如果需要修改元素,使用引用:

for (int& x : nums) {
  x *= 2;
}

基本上就这些。vector 使用简单、功能强大,是替代原生数组的首选工具。掌握 push_back、size、下标访问和遍历就能应付大多数场景。

相关标签:

工具 c++ 数据类型 String if for 成员函数 include 字符串 int double 循环 using Namespace

大家都在看:

c++怎么在Visual Studio中配置CMake项目_C++在VS中使用CMake构建跨平台工程
c++如何实现工厂模式_c++工厂(Factory)设计模式实现方法
c++中的type traits是什么_类型萃取工具与模板元编程应用
c++怎么用Valgrind检测内存泄漏_c++使用Valgrind工具排查内存问题指南
c++怎么实现一个工厂设计模式_c++工厂模式实现示例
温馨提示: 本文最后更新于2025-11-05 22:29:23,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容