一、命名空间的用法
关键字namespace;用法:
//声明命名空间 namespace MyNs { int a; void f1(); class per{ public: void f2(); } } //定义命名空间的函数 void MyNs::f1(){ **** } //实现命名空间的类 void MyNs::per::f2(){ **** }
二、string字符串
需要包含头文件<string>
1.字符串的读写:
1 string s; 2 cin>>s;//遇到空格终止 3 cout<<s<<endl;
2.如何读一整行(循环读写):
1 //循环读入若干字符串,遇到指定退出 2 string s; 3 while(cin>>s){ 4 cout<<s<<endl; 5 if(s=="bye"){ 6 break; 7 } 8 } 9 10 //getline读写 11 string s; 12 while(getline(cin,s)){ 13 cout<<s<<endl; 14 if(s=="bye"){ 15 break; 16 } 17 }
3.字符串的操作
1 //判断字符串是否为空 2 string s; 3 bool result=s.empty(); 4 5 //获得字符串长度 6 string s; 7 int size=s.size(); 8 9 //获得某个索引位置上的字符 10 string s=“hello world”; 11 char c=s[2]; 12 13 //字符串相等比较必须完全一致才会相等
三、vector向量
是一个容器类,可以将其看成一个长度可变的数组;需要包含头文件<vector>;
创建方法:vector<int> v;指定保存元素的类型;
vector<int> v<size>;//初始化元素个数为size的vector
vector<int> v1(v);//使用另外一个vector来初始化
添加元素:v.push_back(1);//在向量末尾添加元素1;
遍历vector里面的元素,除了用for循环,还可以用迭代器iterator(指向数组的指针):
1 vector<int> v; 2 vector<int>::const_iterator it=v.begin();//it是一个指针 3 while(it!=v.endl()) 4 { 5 cout<<*it++<<endl;//++优先级高于*,先运算++,再解引用,从而得到指向的元素 6 }
v.front();//得到容器的第一个元素的引用;
v.back();//得到容器的最后一个元素的引用;
*******等等