#include <iostream>
#include <string>
#include <stdlib.h>
#include <vector>
//#include <algorithm> using namespace std;
//vector容器的简单应用
void demo1() {
vector<int> v1;
v1.push_back(4);
v1.push_back(2);
v1.push_back(4);
v1.push_back(3);
v1.push_back(4); cout << "v1中的元素个数:" << v1.size() << endl;
cout << "v1中保存的元素:" << endl;
//第一种方式,数组访问
//for (int i = 0; i < v1.size(); i++) {
// cout << v1[i] << endl;
//}
//第二种方式,迭代器访问
vector<int>::iterator is = v1.begin();
for (; is != v1.end(); is++) {
cout << *is << endl;
}
//统计容器中某个元素的个数
int rcount = count(v1.begin(), v1.end(), 4);
cout << "v1中数值为4的元素一共有" << rcount << "个" << endl;
}
class Student {
public:
Student(int age, const char* name) {
this->age = age;
strncpy_s(this->name, name, 64);
cout << "调用了构造函数" << endl;
}
Student(const Student& s) {
this->age = s.age;
strncpy_s(this->name, s.name, 64);
cout << "调用了拷贝构造函数" << endl;
}
~Student() {
cout << "调用了析构函数" << endl;
}
int age;
char name[64];
};
void demo2() {
vector<Student *> s; //使用指针提高效率,此处不可用引用!
Student s1(12,"小王");
Student s2(23,"大王");
s.push_back(&s1);
s.push_back(&s2);
//第一种方式,数组访问
/*for (int i = 0; i < s.size(); i++) {
cout << (*s[i]).age<<":"<<(*s[i]).name << endl;
}*/
//第二种方式,迭代器访问
vector<Student *>::iterator it = s.begin();
for (; it != s.end(); it++) {
cout << (**it).name<<":"<<(**it).age << endl;
}
}
int main() {
demo1();
cout << endl;
demo2(); system("pause");
return 0;
}

C++ STL的简单应用(vector容器专题)的更多相关文章

  1. 标准模板库(STL)学习探究之vector容器

    标准模板库(STL)学习探究之vector容器  C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...

  2. 图论算法(一)存图与STL第六弹——vector容器

    图论算法(一)存图 我发现我的博客阅读量贼低,问小伙伴们,ta们都说这些博客太长了QAQ! 今天来个短亿点的(也短不了多少……) 进入正题,图论究竟是什么? 图论就是给你一张图,让你在这张图上进行各种 ...

  3. STL学习二:Vector容器

    1.Vector容器简介 vector是将元素置于一个动态数组中加以管理的容器. vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲). vector尾部添 ...

  4. C++STL(二)——vector容器

    STL--vector容器 vector对象的概念 vector基本操作 vector对象的初始化.赋值 vector查找.替换(已在上一片 string类 博客总结过了,不再总结) vector添加 ...

  5. STL之二:vector容器用法详解

    转载于:http://blog.csdn.net/longshengguoji/article/details/8507394 vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组. ...

  6. C++中STL中简单的Vector的实现

    该vector只能容纳标准库中string类, 直接上代码了,StrVec.h文件内容为: #ifndef STRVEC_H #define STRVEC_H #include<iostream ...

  7. 带你深入理解STL之Vector容器

    C++内置了数组的类型,在使用数组的时候,必须指定数组的长度,一旦配置了就不能改变了,通常我们的做法是:尽量配置一个大的空间,以免不够用,这样做的缺点是比较浪费空间,预估空间不当会引起很多不便. ST ...

  8. 浅谈C++ STL vector 容器

    浅谈C++ STL vector 容器 本篇随笔简单介绍一下\(C++STL\)中\(vector\)容器的使用方法和常见的使用技巧.\(vector\)容器是\(C++STL\)的一种比较基本的容器 ...

  9. C++ STL vector容器学习

    STL(Standard Template Library)标准模板库是C++最重要的组成部分,它提供了一组表示容器.迭代器.函数对象和算法的模板.其中容器是存储类型相同的数据的结构(如vector, ...

  10. 跟我一起学STL(2)——vector容器详解

    一.引言 在上一个专题中,我们介绍了STL中的六大组件,其中容器组件是大多数人经常使用的,因为STL容器是把运用最广的数据结构实现出来,所以我们写应用程序时运用的比较多.然而容器又可以序列式容器和关联 ...

随机推荐

  1. RPS网卡多队列

    一体机上传1G文件导致服务器很卡,怀疑是网卡未开启多核多队列导致. 脚本如下 #!/bin/bash # Enable RPS (Receive Packet Steering) read -p &q ...

  2. Installation requirements for DB2 UDB 8.1 Enterprise Servers

    UDB 8 Install HomeUppre-UDB 8 InstallUDB 8 Install Addendum   Steps to do before/after applying a DB ...

  3. 解决-装了WPS后Windows无法预览word、Excel、PPT等的问题

    https://www.bilibili.com/read/cv10469054/ https://www.cnblogs.com/qq3285862072/p/15097970.html Windo ...

  4. Flink Application Development DataStream API Event Time--Flink应用开发DataStream API事件时间

    目录 概览 事件时间 接下来去哪儿 水印生成 水印策略简介 使用水印策略 处理空闲源 写水印生成代码 写周期WatermarkGenerator代码 写符号形式的WatermarkGenerator代 ...

  5. 常见的SPA首屏优化方式

    核心是加载和解析的性能优化 加载优化的核心是资源体积和首屏资源数量. 解析优化的核心是资源体积和代码的执行性能. 加载优化 通过webpack 的code splitting合理分包:   Code ...

  6. GVK和GVR

    一.GVK与GVR 在Kubernetes体系中,资源是最重要的概念.Kubernetes使用Group.Version.Resource.Kind来描述 Group即资源组,在kubernetes中 ...

  7. 【10】python之条件判断

    Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块. Python中没有switch – case语句,也没有三元运算符. 1.if 语句 Pytho ...

  8. DDD(二)聚合、聚合根、领域服务、应用服务、仓储”和“工作单元”、领域事件、集成事件

    DDD(二)聚合.聚合根.领域服务.应用服务.仓储"和"工作单元".领域事件.集成事件 如果觉得样式不好:跳转即可 http://www.lifengying.site/ ...

  9. gui的服务器和vnc安装测试

    为了OpenStack做连接准备,我们要准备企业中不常用到的gui桌面,和vnc连接去调试 然后开始我们的教程 yum grouplist 列出包组选择要安装的服务 systemctl stop za ...

  10. idea 常用的快捷键

    1.ctrl+shitf+u  大小写切换 2.ctrl+shitf+L 快速格式化代码 3.ctrl+alt+方向左键  快速回到上一层 4..ctrl+shitf+E 最近更改的文件 5.ctrl ...