#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. javax.naming.NameNotFoundException: Name [aa.bb.cc/xx] is not bound in this Context. Unable to find [aa.bb.cc]

    今天尝试把一个SpringBoot项目由jdk11转移为jdk8,在IDEA里运行一切正常.打包,部署到tomcat启动后,在客户端调用WebSocket出现如下异常: java.lang.Illeg ...

  2. MySQL同步部分库注意的问题

    同步部分库或部分库表 复制部分库:replicate_do_db 复制排除部分库:replicate_ignore_db 复制部分表:replicate_do_table 复制排除部分表:replic ...

  3. v4l2编程

    一.video 4 linux 2 ,是linux中关于视频设备的内核驱动.在linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video 0下 二一般操作流程( ...

  4. mac SIP系统完整性保护关闭方法

    许多Mac用户反应,装了部分软件后打不开,那可能是sip系统完整性没有关闭.下面我们就来看一下如何关闭sip系统完整性. 检查状态 在sip系统完整性关闭前,我们先检查是否启用了SIP系统完整性保护. ...

  5. Linux一键单机部署和集群部署

    整个部署脚本只用执行sh即可,有需要可以联系我. 一.部署类型 可参考:常见的部署类型(停机部署.蓝绿部署.滚动部署.灰度部署.AB测试等) 二.一键单机部署Docker服务 三.一键单机部署原生服务 ...

  6. git 产生冲突的处理方式

    理解你操作图形化的时候, git 在什么? 了解你在做的文件的git状态? 1. 添加文件 git add . -A git commit -m "your commit here" ...

  7. IQueryable 和 IEnumerable 的区别

    讲一讲 IQueryable 和 IEnumerable 的区别. 我们会在使用 LINQ 查询方法之后,又使用 ToList 等方法,将查询结果转换成集合. 如果我们不使用 ToList 呢? 比如 ...

  8. Linux ~ jenkins 直接安装

    前置条件: 1. Jenkins是由java编写的,所以最好安装java8以上的环境 开始安装: 1. 配置yum源,将jenkins导入yum源 sudo wget -O /etc/yum.repo ...

  9. 1903021126 申文骏 Java 第四周作业 Java分支语句学习

    项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 Java第四周作业 博客名称 1903021126  申文骏  Java 第四周作业 Java分支语句学习 要求 每道题要有题目,代码( ...

  10. Absolute Path Traversal 错误解决

    Absolute Path Traversal (APT) 是一种常见的安全漏洞,攻击者可以通过该漏洞访问应用程序的文件系统中的文件, 包括敏感信息,从而可能导致应用程序遭受攻击. 一.使用专门的文件 ...