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

C++之动态数组

C++给我们提供了一个叫Vector的类,这个Vector在std命名空间中。这个Vector有点像一个集合,一个不强制其实际元素具有唯一性的集合,和数组一样,但是和C++普通的数组又不太一样,和标准的数组不同当你创建Vector时,你不需要给他一个边界值,只需要把元素放进去就好了,你每放一个元素进去,这个数组大小会自动增长。接下来为我们看这段代码,先了解一下Vector是怎么使用的:

#include <iostream>
#include <string>
#include <vector>struct Vertex
{float x, y, z;
};
//重载<<
std::ostream& operator<<(std::ostream& stream, const Vertex& vertex)
{stream << vertex.x << " ," << vertex.y << " ," << vertex.z;return stream;
}int main()
{//Vertex* vertices = new Vertex[5];//普通数组要确定大小std::vector<Vertex> vertices;vertices.push_back({1,2,3}); //加入元素vertices.push_back({ 4,5,6 });for (int i = 0; i < vertices.size(); i++)std::cout << vertices[i] << std::endl;vertices.erase(vertices.begin() + 1); //去除第二个元素for (Vertex& v : vertices)  // 实际上是将vertex复制到这个for范围中,但是为了节约内存我们加了&引用std::cout << v << std::endl;std::cin.get();
}

上面的注释已经写的非常清楚了,就不赘述了。

http://www.lryc.cn/news/366030.html

相关文章:

  • 使用 image-combiner 开源项目实现对海报图片的生成
  • 【缓存】框架层常见问题和对策
  • 【FAS】《CN103106397B》
  • 3D按F3为什么显示不出模型?---模大狮模型网
  • C++设计模式——Adapter适配器模式
  • Python文本处理利器:jieba库全解析
  • 【C/C++】C语言如何实现类似C++的智能指针?
  • 九大微服务监控工具详解
  • java aliyun oss上传和下载工具类
  • P7 品牌管理
  • C语言详解(动态内存管理)1
  • 106.网络游戏逆向分析与漏洞攻防-装备系统数据分析-在UI中显示装备与技能信息
  • AWS EMR Serverless
  • Java面试题:Redis持久化问题
  • 【Java】解决Java报错:ClassCastException
  • OpenCV-最小外接圆cv::minEnclosingCircle
  • 大小堆运用巧解数据流的中位数
  • AI能力边界不断扩展,将对国家安全产生深远影响
  • 【UnityShader入门精要学习笔记】第十六章 Unity中的渲染优化技术 (上)
  • GPT-4o:免费且更快的模型
  • docker部署fastdfs
  • 【劲舞团game】
  • Day15—图像爬虫与简单处理
  • Rust基础学习-Rust中的文件操作
  • Activator.CreateInstance 与 Type.InvokeMember的区别
  • Java18+​App端采用uniapp+开发工具 idea hbuilder智能上门家政系统源码,一站式家政服务平台开发家政服务
  • 【MySQL】探索 MySQL 的 GROUP_CONCAT 函数
  • SpringBoot整合RabbitMQ (持续更新中)
  • 瑞鑫RK3588 画中画 OSD 效果展示
  • 【全开源】防伪溯源一体化管理系统源码(FastAdmin+ThinkPHP+Uniapp)