//vector的使用
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
using namespace std; /*
引用头文件 #include<vector> vector类本身是一个类模板 vector类模板是一个线性顺序结构。相当于数组。它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组。
*/ class Student{
public:
int age;
char name[];
}; void ProtectA(){
//定义一个int类型的动态数组 数组元素为0
vector<int> v1;
//vector类模板重载了[]操作符
//添加元素
//v1[0] = 2; 报错: out of range 超出数组范围,
//这说明:vector<int> 数组类模板定义初始长度为空时,添加元素就会报错
vector<int> v2();
//v2[5] = 12; 报错: out of range 超出数组范围, /*
小结:vector<int> 数组类模板的初始化长度是固定的 不可以动态添加
*/
for (int i = ; i <; i++)
{
v2[i]=i+;
}
vector<int> v3();
//vector<int> 数组类模板重载=操作符
v3 = v2;
/*
此时v3的长度变成5,可以认为v3的长度发生变化,数据也发生变化
*/
//size()获取vector数组的长度
v2[] = ;
/*
v2改变对v3没有影响
*/
int numx = v3.size();
for (int i = ; i <; i++)
{
cout << v3[i] << endl;
} } void Print(vector<Student> &v){
int num = v.size();
for (int i = ; i < num; i++)
{
cout << "学生姓名:" << v[i].name << ";学生年龄是:" << v[i].age << endl; }
} void ProtectB(){
Student s1,s2,s3;
s1.age = ;
strcpy(s1.name, "小米");
s2.age = ;
strcpy(s2.name, "小红");
s3.age = ;
strcpy(s3.name, "小刚");
vector<Student> vs();
vs[] = s1;
vs[] = s2;
vs[] = s3;
Print(vs);
} void main(){
ProtectB();
system("pause");
}

C++ STL标准模板库(vector)的更多相关文章

  1. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  2. STL标准模板库介绍

    1. STL介绍 标准模板库STL是当今每个从事C++编程的人需要掌握的技术,所有很有必要总结下 本文将介绍STL并探讨它的三个主要概念:容器.迭代器.算法. STL的最大特点就是: 数据结构和算法的 ...

  3. STL学习系列一:STL(标准模板库)理论基础

    STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间. STL的从广 ...

  4. STL(标准模板库)理论基础,容器,迭代器,算法

    基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间.   ...

  5. STL(标准模板库)基本概念

    一.什么是STL STL(Standard Template Library,标准模板库)的从广义上讲分为三类:algorithm(算法).container(容器)和iterator(迭代器),容器 ...

  6. C++:标准模板库vector

    一:介绍 vector是C++标准模板库,是一个容器,底层是数组,为连续内存. 命名空间为std,所属头文件为<vector>   注意:不是<vector.h> vector ...

  7. C++ Templates STL标准模板库的基本概念

    STL标准库包括几个重要的组件:容器.迭代器和算法.迭代器iterator,用来在一个对象群集的元素上进行遍历操作.这个对象群集或许是一个容器,或许是容器的一部分.迭代器的主要好处是,为所有的容器提供 ...

  8. STL标准模板库 向量容器(vector)

    向量容器使用动态数组存储.管理对象.因为数组是一个随机访问数据结构,所以可以随机访问向量中的元素.在数组中间或是开始处插入一个元素是费时的,特别是在数组非常大的时候更是如此.然而在数组末端插入元素却很 ...

  9. STL标准模板库之vector

    目录 vector容器 1)什么是vector 2)如何定义 3)常用的Vector函数 1.容量函数 2.增加函数 3.删除函数 4.迭代器 5.访问函数 6.其他函数及操作 7.算法 STL提供了 ...

随机推荐

  1. 转:关于android webview实践的文章集合

    http://blog.csdn.net/jiangqq781931404/article/category/2681765

  2. TestNG系列之三:TestNG忽略测试

    有时,我们的代码是没有准备好,如果测试用例写入到测试方法/代码将无法运行,在这种情况下, @Test(enabled = false)有助于禁用此测试案例.

  3. toFixed 不能四舍五入问题

    最近在项目中遇见一个bug,数据在移动端与pc端不一致,金额少了0.01,原因是js在处理0.005的时候直接舍去了千分位,直接上解决方法 Number.prototype.toFixed = fun ...

  4. silverlight客户端保存文件乱码问题

    最近做一个项目,有一个需求是这样的:服务端从数据库里获得数据,客户端保存为Excel文件 最初解决方案:服务端获得数据,通过ExcelPackage,Convert.ToBase64String将by ...

  5. [读后感]Java 控制台执行 Jar 传參的编码问题

    下面这版面,太让我纠结了.谁能帮调整一下,... _________________ java -jar test.jar "一二一" 这样传进去的 "一二一" ...

  6. 06-编写Hibernate API编写访问数据库的代码,使用Junit进行测试

    用到的注解: @Test:测试方法 @Before:初始化方法. @After:是否资源. 先执行Befere,然后执行Test,最后执行After. 第一步:新建一个Junit目录. 第二步:取名 ...

  7. hibernate的配置, 增删改查

    路径:查找路径 实际上都是查找编译后的对应的路径,在bin文件夹中总 增删改必须开启事务才行 hibernate加载文件的两种方式 configure 1.引包 antlr-2.7.6.jar bac ...

  8. DDCX2018届校招内推笔试——算法工程师

    -------------------------------------------------------------------------[选择题]---------------------- ...

  9. Layui 弹出层组件——layer

    layer是作为Layui[经典模块化前端框架]的一个弹层模块,由于其用户基数较大,所以把layer作为独立组件来维护. 基础参数: 基础参数主要指调用方法时用到的配置项,如:layer.open({ ...

  10. 资源管理器也玩多标签:QT TabBar v1.5.0.0a3

    http://zmingcx.com/explorer-also-play-more-tags-qt-tabbar-v1-5-0-0a3.html浏览器中的标签浏览功能非常受欢迎,安装QT TabBa ...