//为了方便,要包含的文件会不同,但我没有删
#include <iostream>
#include <string>
#include <vector>
#include <bitset>
#include <cstring> //和C语言的string.h其实是一个版本
using std::bitset;
using std::vector;
using std::cin;
using std::endl;
using std::cout;
using std::string;
//---------------------------------------------------------------------------
int main()
{
typedef string* pString;
vector<pString> pstrVec;
vector<string> strVec;
//为string类vector填值-------------------------------------
string str;
while(cin>>str)
{
strVec.push_back (str);
}
//--------------------------------建立指向string 的指针的vector---------------------------------------------------
vector<string>::size_type st=0;
st=strVec.size ();
while(st!=0)
{
pString p=&strVec[st-1];
pstrVec.push_back (p);
--st;
}
//-------------------------------------------输出结果------------------------------------------
vector<pString>::size_type st1=pstrVec.size ();
while(st1!=0)
{
cout<<"这些字串为:"<<*pstrVec[st1-1]<<"大小为:"<<pstrVec[st1-1]->size ()<<endl;;
--st1;
}
cout<<endl;
return 0;
}
/* pstrVec[st1-1]很关键,因为pstrVec[st1]是越界值,会出问题 */
/*
142页5.18定义vector,其每个元素指向string类型的指针,读取并输出string的内容及相应长度
*/