//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");
}

最新文章

  1. js之iframe子页面与父页面通信
  2. bzoj3631树链剖分
  3. 通过c程序更改文件的ctime和mtime
  4. 【ASP.NET】利用Nuget打包package——GUI方式
  5. (转)解决Mac OS X上PhpStorm不能输入中文
  6. Phaser提供了Button对象简单的实现一个按钮
  7. php全角字符转换为半角函数
  8. Android自带CalendarView类实现日历视图
  9. JMeter使用记录1 -- JDBC測试
  10. Spring MVC详细示例实战教程【转】
  11. 九款让WordPress成为赚钱利器的广告插件
  12. ESXi5.0误删除虚拟机还有办法恢复吗?答案是可以!
  13. 如何将mysql数据导入Hadoop之Sqoop安装
  14. js随机数生成,生成m-n的随机数
  15. Linux设置PHP环境变量
  16. go-mysql,一个易用的mysql接口框架实现
  17. Java NIO工作机制简介
  18. zeromq的安装,部署(号称最快的消息队列,消息中间件)
  19. 唯美MACD-完全版
  20. centos6二进制安装mysql5.5

热门文章

  1. 搭建dubbo-admin-2.5.3
  2. ant Select 联动
  3. cordova百度地图定位Android版插件
  4. Spring Bean的作用域类型
  5. Drupal中的模块载入
  6. java的日期格式使用
  7. Swift的数组与OC中数组的区别
  8. C# 共享内存(转)
  9. java基础讲解06-----字符串
  10. Mac Xcode下配置OpenGL