/*cb06a_c++_顺序容器的定义
顺序容器:
vector,数组,尾端操作数据,快速随机访问
list 链表,快速插入数据
deque数组,双端-首尾操作数据,方便两端的数据访问

顺序容器适配器:
stack
queue
priority_queue
一种容器的数据初始化另一种类型容器
//用迭代器,vector容器初始化list.
list<string> slist(svec.begin(),svec.end());
关联容器:xxx

字符串数组:
char str1[]="abc";
char str2[]="def";
char str3[]="ghi";
char str4[]="jkl";
char str5[]="xyz";
char *strArray[5]={str1,str2,str3,str4,str5};
或者:
const char *words[] = { "stately","plump1","buck","mulligan" };//字符串数组
size_t words_size = sizeof(words) / sizeof(char *);//统计整体占多少字节,除以每个字符串占得字节数,得到有多少个字符串
error C2248: “Dog::Dog”: 无法访问 private 成员(在“Dog”类中声明),dog class没有写public,默认是private

 /*cb06a_c++_顺序容器的定义
顺序容器:
vector,数组,尾端操作数据,快速随机访问
list 链表,快速插入数据
deque数组,双端-首尾操作数据,方便两端的数据访问 顺序容器适配器:
stack
queue
priority_queue
一种容器的数据初始化另一种类型容器
//用迭代器,vector容器初始化list.
list<string> slist(svec.begin(),svec.end());
关联容器:xxx 字符串数组:
char str1[]="abc";
char str2[]="def";
char str3[]="ghi";
char str4[]="jkl";
char str5[]="xyz";
char *strArray[5]={str1,str2,str3,str4,str5};
或者:
const char *words[] = { "stately","plump1","buck","mulligan" };//字符串数组
size_t words_size = sizeof(words) / sizeof(char *);//统计整体占多少字节,除以每个字符串占得字节数,得到有多少个字符串
error C2248: “Dog::Dog”: 无法访问 private 成员(在“Dog”类中声明),dog class没有写public,默认是private
*/
#include <iostream>
#include <vector>
#include <list>
#include <deque>
#include <string>
#include "Cat.h"
#include "Dog.h" using namespace std; int main()
{
vector<string> svec; //调用默认的构造函数创建的。
svec.push_back("hello");
svec.push_back("C++");
svec.push_back("STL");
list<int> ilist;
vector<Dog> dogvec;//dogvec是空的向量。不会调用默认构造函数
vector<Dog> b();//b有10个对象,都是Dog的默认构造函数初始化
vector<Dog> b1(,);//调用dog 类中有参数的构造函数
list<Cat> catlist;
//deque<Sales_item> items; vector<int> ivec;
ivec.push_back();
ivec.push_back();
ivec.push_back();
vector<int> ivec2(ivec);//ivec2=ivec; //list<int> ilist(ivec);//错误,vector与list类型不匹配
//用迭代器,vector容器初始化list.
list<string> slist(svec.begin(),svec.end());
vector<string>::iterator mid = svec.begin() + svec.size() / ;//指向了数据元素的中间
deque<string> front(svec.begin(), mid);//svec前一半的数据初始化front;
deque<string> back(mid, svec.end());//用后一半的数据去初始化
//char *words = {"stately","plump1","buck","mulligan"};
//error C2440: “初始化”: 无法从“initializer list”转换为“char *”
//*words改为*words[];
//error C2440 : “初始化”: 无法从“const char[8]”转换为“char *”,加上const就可以了
const char *words[] = { "stately","plump1","buck","mulligan" };//字符串数组,数组指针
size_t words_size = sizeof(words) / sizeof(char *); list<string> words1(words, words + words_size);//char数据放入list. //words1={"stately","plump1","buck","mulligan"}; const list<int>::size_type list_size = ;
//list<string> slist(64);//64个空串。
list<string> slist1a(list_size,"hello");//64个hello.
list<int> ilist2a(list_size, );//64个8; //容器里面放容器
vector< vector<string> >lines;//里面的vector记得空格隔开。
list< vector<string> > slist22; //梁平柚
//颂和时代城 return ;
}

cb06a_c++_顺序容器的定义的更多相关文章

  1. cb08a_c++_顺序容器的操作1

    cb08a_c++_顺序容器的操作1容器定义的类型别名begin(闭区间)和end(开区间)成员{first,last)左闭右开,左包括,右不包括,end()指向最后一个的下一个. /*cb08a_c ...

  2. cb03a_c++_数据结构_顺序容器_STL_stack

    /*cb03a_c++_数据结构_顺序容器_STL_stack堆栈:LIFO--Last In First Out后进先出,用于系统程序设计自适应容器(容器适配器),不是独立的容器,是一个适配器栈适配 ...

  3. cb16a_c++_顺序容器的选用_排序_二分查找

    /*cb16a_c++_顺序容器的选用_排序_二分查找顺序容器: 1.vector的优点与缺点 vector优点:排序利用下标,快速排序,做二分查找非常快 2.list的优点与缺点 list优点:插入 ...

  4. cb14a_c++_顺序容器的操作7_赋值与交换(swap)_vector转list

    cb14a_c++_顺序容器的操作7_赋值与交换(swap) vector数据赋值给list, slist.assign(svec.begin(), svec.end());//这样可以转 svec- ...

  5. ca13a_c++_顺序容器的操作6删除元素

    /*ca13a_c++_顺序容器的操作6删除元素c.erase(p) //删除迭代器p指向的位置c.erase(b,e) //删除b to e之间的数据,迭代器b包括,e不包括c.clear()//删 ...

  6. cb11a_c++_顺序容器的操作4_容器大小操作_resize-max_size

    cb11a_c++_顺序容器的操作4 2 容器大小的操作 3 c.size() 容器当前的个数 4 c.max_size(),容器最大存储量 5 c.empty() 是否为空 6 c.resize(n ...

  7. cb10a_c++_顺序容器的操作3关系运算符

    cb10a_c++_cb09a_c++_顺序容器的操作3 2 顺序容器的操作3 3 关系运算符 4 所有的容器类型都可以使用 5 比较的容器必须具有相同的容器类型,double不能与int作比较 6 ...

  8. cb09a_c++_顺序容器的操作2-在顺序容器中添加元素_插入数据

    cb09a_c++_顺序容器的操作2在顺序容器中添加元素vector不能向前插入数据,list可以用insertc.push_back(t);c.push_front(t);c.insert(p,t) ...

  9. cb02a_c++_数据结构_顺序容器_STL_list类_双向链表

    /*cb02a_c++_数据结构_顺序容器_STL_list类_双向链表实例化std::list对象在list开头插入元素在list末尾插入元素在list中间插入元素,插入时间恒定,非常快.数组:中间 ...

随机推荐

  1. Unity读取StreamingAssets路径下的文件

    /// <summary> ///读取StreamingAssets中的文件 /// </summary> /// <param name="path" ...

  2. Dockerfile+Jenkinsfile+GitLab轻松实现.NetCore程序的CI&CD

    一.相关介绍 Dockerfile:关于Dockerfile的使用说明,我在文章<让.NetCore程序跑在任何有docker的地方>中有说到,这里不在赘述,需要的可以先看下,本文主要介绍 ...

  3. 像宝石一样的Java原子类

    十五年前,多处理器系统是高度专业化的系统,通常耗资数十万美元(其中大多数具有两到四个处理器). 如今,多处理器系统既便宜又丰富,几乎主流的微处理器都内置了对多处理器的支持,很多能够支持数十或数百个处理 ...

  4. Qt版本中国象棋开发(四)

    内容:走法产生 中国象棋基础搜索AI, 极大值,极小值剪枝搜索, 静态估值函数 理论基础: (一)人机博弈走法产生: 先遍历某一方的所有棋子,再遍历整个棋盘,得到每个棋子的所有走棋情况(效率不高,可以 ...

  5. 前端基础进阶(十五):详解 ES6 Modules

    对于新人朋友来说,想要自己去搞定一个ES6开发环境并不是一件容易的事情,因为构建工具的学习本身又是一个非常大的方向,我们需要花费不少的时间才能掌握它. 好在慢慢的开始有大神提供了一些非常简单易懂,学习 ...

  6. redis 缓存穿透,缓存雪崩,缓存击穿

    1.缓存穿透:缓存穿透是指查询一个不存在的数据,由于缓存是不命中,将去查询数据库,但是数据库也无此记录,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义.在流量大时,可能DB就挂掉 ...

  7. eclipse中生成文档注释--javadoc的使用

    1.针对于单一的JAVA文件,在终端窗口中,使用 javadoc 文件名.java 即可生成文档注释: 2.在eclipse中生成文档注释: ①单击eclipse菜单栏中的[Project]菜单,该菜 ...

  8. Alpha冲刺 —— 5.9

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.总 ...

  9. 【HBase】HBase架构中各种组件的作用

    client: 发起读写请求 维护cache,加快读取速度 zookeeper: HMaster选举,存储meta-region的路由信息,监控集群从节点HRegionSever上信息 HMaster ...

  10. 从0开始探究vue-公共变量的管理

    背景 在Vue项目中,我们总会遇到一些公共数据的处理,如方法拦截,全局变量等,本文旨在解决这些问题 解决方案 事件总线 所谓事件总线,就是在当前的Vue实例之外,再创建一个Vue实例来专门进行变量传递 ...