string/vector/iterator
examples:
/*#include <tchar.h>
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <numeric>
#include <functional>
#include <valarray>
#include <algorithm>//count
#include <deque>*/
/*cout<<"abs"<<endl;
typedef valarray<int> IntArray;
IntArray iArr(2);
iArr[0] = -1; iArr[1] = 10;
for(int i=0;i<iArr.size();i++){
cout<<iArr[i]<<endl;
}
IntArray iArr1 = abs(iArr);
for(int i=0;i<iArr1.size();i++){
cout<<iArr1[i]<<endl;
}*/
/*cout<<"vector copy accumulate push_back:"<<endl;
typedef vector<float> fArr;
typedef ostream_iterator<float,char,char_traits<char> > osFloatArr;
osFloatArr ofa(cout,"/t");
fArr fa;
for(int i=0;i<10;i++) fa.push_back(1.0f/(i+1));// 0,1/1,1/2,1/3,1/4,1/5,1/6,1/7...
copy(fa.begin(),fa.end(),ofa);
cout<<endl<<accumulate(fa.begin(),fa.end(),0.0f)<<endl;
typedef vector<string> szArr;
szArr sa;
sa.push_back("asasdf ");
sa.push_back("/t123afadf");
sa.push_back("8888888888888888888fasf");
cout<<endl<<accumulate(sa.begin(),sa.end(),string(""))<<endl;
ostream_iterator<int,char,char_traits<char> > oia(cout,"/n");
vector<int> ia;
ia.push_back(12312);
ia.push_back(4);
ia.push_back(33);
ia.push_back(676);
ia.push_back(898);
copy(ia.rbegin(),ia.rend(),oia);*/
/*cout<<"string:"<<endl;
string s1("this is s1");
string s2("this is s2");
cout<<s1.c_str()<<endl;
s1.append(s2);
cout<<s1.c_str()<<endl;
s1.append(s2,0,4);
cout<<s1.c_str()<<endl;
char s3[] = {'1','2','3'};
s1.append(s3,2);
cout<<s1.c_str()<<endl;
char s4[] = "QQQ34234sdsfasdf";
s1.append(s4);
cout<<s1.c_str()<<endl;
s2 = "this is another s2";
s1.append(s2.begin(),s2.end());
cout<<s1.c_str()<<endl;*/
/*cout<<"iterator:"<<endl;
vector<string> vec;
vec.push_back("a");
vec.push_back("b");
vec.push_back("c");
vec.push_back("d");
vec.push_back("a");
vec.push_back("f");
vec.push_back("g");
vector<string>::iterator start,end,it;
start = vec.begin();
end = vec.end();
for(it = start; it!=end; ++it)
cout<<*it<<endl;
string sz1("a");
ptrdiff_t result = count(vec.begin(),vec.end(),sz1);
cout<<sz1<<"matches count is: "<<(long)result<<endl;*/