C++ STL的简单应用(vector容器专题)
#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容器专题)的更多相关文章
- 标准模板库(STL)学习探究之vector容器
标准模板库(STL)学习探究之vector容器 C++ Vectors vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被 ...
- 图论算法(一)存图与STL第六弹——vector容器
图论算法(一)存图 我发现我的博客阅读量贼低,问小伙伴们,ta们都说这些博客太长了QAQ! 今天来个短亿点的(也短不了多少……) 进入正题,图论究竟是什么? 图论就是给你一张图,让你在这张图上进行各种 ...
- STL学习二:Vector容器
1.Vector容器简介 vector是将元素置于一个动态数组中加以管理的容器. vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法,这个等下会详讲). vector尾部添 ...
- C++STL(二)——vector容器
STL--vector容器 vector对象的概念 vector基本操作 vector对象的初始化.赋值 vector查找.替换(已在上一片 string类 博客总结过了,不再总结) vector添加 ...
- STL之二:vector容器用法详解
转载于:http://blog.csdn.net/longshengguoji/article/details/8507394 vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组. ...
- C++中STL中简单的Vector的实现
该vector只能容纳标准库中string类, 直接上代码了,StrVec.h文件内容为: #ifndef STRVEC_H #define STRVEC_H #include<iostream ...
- 带你深入理解STL之Vector容器
C++内置了数组的类型,在使用数组的时候,必须指定数组的长度,一旦配置了就不能改变了,通常我们的做法是:尽量配置一个大的空间,以免不够用,这样做的缺点是比较浪费空间,预估空间不当会引起很多不便. ST ...
- 浅谈C++ STL vector 容器
浅谈C++ STL vector 容器 本篇随笔简单介绍一下\(C++STL\)中\(vector\)容器的使用方法和常见的使用技巧.\(vector\)容器是\(C++STL\)的一种比较基本的容器 ...
- C++ STL vector容器学习
STL(Standard Template Library)标准模板库是C++最重要的组成部分,它提供了一组表示容器.迭代器.函数对象和算法的模板.其中容器是存储类型相同的数据的结构(如vector, ...
- 跟我一起学STL(2)——vector容器详解
一.引言 在上一个专题中,我们介绍了STL中的六大组件,其中容器组件是大多数人经常使用的,因为STL容器是把运用最广的数据结构实现出来,所以我们写应用程序时运用的比较多.然而容器又可以序列式容器和关联 ...
随机推荐
- centos7 yum安装配置Lnmp和负载配置
首先配置防火墙CentOS 7.0默认使用的是firewall作为防火墙1.关闭firewall: systemctl stop firewalld.service #停止firewallsystem ...
- 【ZYNQ学习】ZYNQ架构介绍
在上一篇博客中,主要介绍了ZYNQ的基本信息以及如何在vivado上实现自己的设计,但是在实际应用中,掌握ZYNQ的架构是必要的,因此在这篇博客中主要记录一下ZYNQ的架构 本篇博客的主要参考是ZYN ...
- 整理15款实用javascript富文本编辑器
百度UEditor 官方网址:http://ueditor.baidu.com/website/ UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验 ...
- Datax初使用
为了掌握大数据采集技术,自学习了datax的使用 简介: DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.HDFS.Hive.OceanBase.H ...
- css制作仿商城侧边导航
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- I2C总线简介-转载
I2C总线简介 - 立创社区 (szlcsc.com) 简介 NXP半导体(原Philips半导体)于20多年前发明了一种简单的双向二线制串行通信总线,这个总线这个总线被称为IIC.Inter-IC或 ...
- JAVA根据时间增加1天
String time = "2021-12-1"; //指定时间 int day = 30;//指定增加天数 SimpleDateFormat sf = new SimpleDa ...
- WPF中向下拉框中绑定枚举体
1.枚举绑定combox的ItemsSourceItemsSource绑定的是个集合值,要想枚举绑定ItemsSource,首先应该想到的是把枚举值变成集合. 方法一:使用资源里的ObjectData ...
- ubuntu 20.04 修改静态IP和dhcp自动分配IP
一.静态分配固定IP kuaibang@k8smaster:~$ sudo nano /etc/netplan/00-installer-config.yaml # This is the netwo ...
- 1.2 Git&Github
Git&GitHub 一.必做部分 1.Git的安装与命令学习 下载&安装 PC端科学经费不足所以Github下载一直失败,最后去官网https://gitforwindows.org ...