C++vector习题解答。267页

庭博网校QQ:14280784    86974558

学习内容和顺序:

1、C语言;

2、C++语言;

3、VC++;

4、win32编程;

5、数据库编程;

6、网络编程;

7、多线程编程。

初中毕业一年3500元、高中毕业一年3000元、大专以上一年2500元。每天20:00到22:00上课

 庭博网校网络课堂的进入方法:先到http://www.51lele.net/610028注册一个免费的帐号,同时下载他的乐乐软件,安装之后就可以进入大厅->技术学院->庭博网校听课了

 

/*
  CPP教材267页习题9.1
  解释下列初始化,指出哪些是错误的,为什么?
  int ia[7]={0,1,2,3,,5,8};
  string sa[6]={"Fort Sumter","Manassas","Perryville",
                "Vicksburg","Meridian","Chancellorsville"};
  (a)vector<string> svec(sa,sa+6);
  (b)list<int> ilist(ia+4,ia+6);
  (c)vector<int> ivec(ia,ia+8);
  (d)list<string> slist(sa+6,sa);
  答:(a)正确;(b)正确;(c)正确;(d)不正确;
  正确的原因:因为迭代器就是指针,所以可以用指针的方式来初始化容器。
  数组的地址就是指针。
  不正确的原因:是sa+6大于sa了。即范围指定错了。

  以下是相关实验

*/

#include "stdafx.h"
#include "iostream"
#include "vector"
#include "string"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
 int a[6]={1,2,3,4,5,6};
 string sa[]={"aaa","bbb","ccc","ddd","eee","fff","ggg","hhh"};
 //vector<int> va(&a[0]+&a[0]+6);//此句也可以通过
 vector<int> va(a,a+6);
 //vector<int> va(a+6,a);//这个式子是错误的
 vector<int>::iterator i;
 for(i=va.begin();i!=va.end();i++)
  cout<<*i<<"  ";
 cout<<endl;
 vector<string> bq(sa,sa+7);
 vector<string>::size_type w;
 for(w=0;w<bq.size();w++)
  cout<<bq[w]<<" ";
 getchar();
 return 0;
}

 

你可能感兴趣的:(多线程,编程,C++,String,vector,iterator)