cb06a_c++_顺序容器的定义 顺序容器: vector,数组,尾端操作数据,快速随机访问 list 链表,快速插入数据 deque数组,双端-首尾操作数据,方便两端的数据访问
顺序容器适配器: stack queue priority_queue 一种容器的数据初始化另一种类型容器 //用迭代器,vector容器初始化list. list 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 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
#include
#include
#include
#include
#include "Cat.h"
#include "Dog.h"
using namespace std;
int main()
{
vector svec; //调用默认的构造函数创建的。
svec.push_back("hello");
svec.push_back("C++");
svec.push_back("STL");
list ilist;
vector dogvec;//dogvec是空的向量。不会调用默认构造函数
vector b(10);//b有10个对象,都是Dog的默认构造函数初始化
vector b1(10,2);//调用dog 类中有参数的构造函数
list catlist;
//deque items;
vector ivec;
ivec.push_back(1);
ivec.push_back(2);
ivec.push_back(3);
vector ivec2(ivec);//ivec2=ivec;
//list ilist(ivec);//错误,vector与list类型不匹配
//用迭代器,vector容器初始化list.
list slist(svec.begin(),svec.end());
vector::iterator mid = svec.begin() + svec.size() / 2;//指向了数据元素的中间
deque front(svec.begin(), mid);//svec前一半的数据初始化front;
deque 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 words1(words, words + words_size);//char数据放入list. //words1={"stately","plump1","buck","mulligan"};
const list::size_type list_size = 64;
//list slist(64);//64个空串。
list slist1a(list_size,"hello");//64个hello.
list ilist2a(list_size, 8);//64个8;
//容器里面放容器
vector< vector >lines;//里面的vector记得空格隔开。
list< vector > slist22;
//梁平柚
//颂和时代城
return 0;
}