//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. An incompatible version 1.1.14 of APR based Apache Tomcat Native library is installed, while Tomcat

    启动tomcat 7.0, 看到日志里出现严重警告, An incompatible version 1.1.14 of APR based Apache Tomcat Native library ...

  2. Junit测试Spring应用Dubbo测试框架之-Excel 工具类

    package com.tree.autotest.demo; import com.alibaba.fastjson.JSON;import org.apache.poi.hssf.usermode ...

  3. 今天科普一下 iOS马甲包审核以及常见审核问题

    一.什么是马甲包 马甲包是利用App store 规则漏洞,通过技术手段,多次上架同一款产品的方法.马甲包和主产品包拥有同样的内容和功能,除了icon和应用名称不能完全一致,其他基本一致.    二. ...

  4. 适用于iOS6之后的苹果提供的下拉刷新

    一:iOS6.0及以后: 下拉刷新控件UIRefreshControl TableView属性:refreshControl 二:使用 - (void)colseTheTB { [self dismi ...

  5. Python中生成(写入数据到)Excel文件

      转自http://www.crifan.com/export_data_to_excel_file_in_python/ 在Python中,如何将数据,导出为Excel,即把数据写入到新生成的ex ...

  6. Image Based Lighting In UE3

    "IBL"全称为"Image-based Lighint",是一种伪装全局光照的方法.使用该方法可以获得较好的视觉效果并且可以达到实时渲染的目的. 实现的方法之 ...

  7. Latex排版:CTeX winEdit 输出“系统找不到指定的文件”的解决办法)

    winEdit输出“系统找不到指定的文件”,这里“指定的文件”是“TeXify.exe”等需要运行的程序,而不是当前需要编译的“.tex”文件.所以,问题的本质就是系统找不到“TeXify.exe”等 ...

  8. unity3d之NGUI学习流水账

    博主是跟着视频教程学的,所以最新版的u3d是否已经自带这个功能博主没有考究过. 但是视频是2015下半年的教程,当时的u3d还是需要自行导入NGUI包的. 1.首先需要下载NGUI包.点此进入ngui ...

  9. 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念

    wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递.要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成.解析的事情webapi遵循是rest ...

  10. 重置linux mysql root密码

    2.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/my ...