{usingnamespacestd;//1KW 字符串反序函数测试,分别测试同样算法,string 和 C风格字符串的区别stringstr ="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";for(inti =0; i !=10000001; i++)//STL_Reverse(str);//0.313秒//good_Reverse(str);//0.875秒//Reverse(str);//1.063秒bad_Reverse(str);//7.016秒cout...
string(); string( size_type length, char ch ); string( const char *str ); string( const char *str, size_type length ); string( string &str, size_type index, size_type length ); string( input_iteartor start, input_iteartor end ); 字符串的构造函数创建一个新字符串,包括: 空字符串...
//数据的插入--第一种:用insert函数插入pair数据 #include #include <string> #include <iostream> using namespace std; int main() { map<int, string> mapStudent; mapStudent.insert(pair<int, string>(1, "student_one")); mapStudent.insert(pair<int, string>(2, "student_two")); mapStudent...
string::reverse_iteratorit=s.rbegin(); 我们这里可以看到 其实变化的就是一个 reverse 还有最后的rbegin() 代码表示如下 strings("hello world");string::reverse_iteratorit=s.rbegin();while(it!=s.rend()){cout<<*it;it++;} 在这里插入图片描述 我们发现 这里是不是代码有很多啊 那么我们练习到之前的...
19行的for loop,使用了reverse_iterator,讓我們很簡單的如操作一般的iterator般去處理reverse_iterator。 25行到29行,使用了一般的iterator去處理,程式有點詭異,主要是讓我們看出,若沒有reverse_iterator,程式有多難寫。 copy() algorithm也可搭配reverse_iterator,只需一行就可以了。
你可以把string当作一种STL容器。说到string我指的是C++ string class (basic_string<>, string 和 wstring)对象。String很类似vector,但其他元素都是字符。 寻常的C-style Array。 C++ 程序不再需要直接使用C-style array。 Vector和array提供了寻常C-style array的所有特性,并具备更安全更方便的接口。
reverse() 如果容量不足,扩大 c.max_size() 返回可容纳的元素最大数 3、赋值 c1 = c2 将c2的全部元素赋值给c1 c.assign(n,elem) 复制n个elem,赋值给c c.assign(begin,end) 将区间[begin,end]内的元素赋值给c c1.swap(c2) 将c1和c2元素互换 ...
下面我将依次介绍STL的这三个主要组件。 1.容器 STL中的容器有队列容器和关联容器,容器适配器(congtainer adapters:stack,queue,priority queue),位集(bit_set),串包(string_package)等等。 在本文中,我将介绍list,vector,deque等队列容器,和set和multisets,map和multimaps等关联容器,一共7种基本容器类。
#include<stdio.h>voids_reverse(char*s){char*h=s;char*t=s;char ch;/* t指向s的尾部 */while(*t++){};t--;/* 与t++抵消 */t--;/* 回跳过结束符'\0' *//* 当h和t未重合时,交换它们所指向的字符 */while(h<t){ch=*h;*h++=*t;/* h向尾部移动 */*t--=ch;/* t向头部移动...
7、尽量使用vector和string来代替动态申请的数组;避免使用vector<bool>,vector<bool>有两个问题.第一,它不是一个真正STL容器,第二,它并不保存bool类型。 8、迭代器使用过程中,尽量使用iterator代替const_iterator,reverse_iterator和const_reverse_iterator;使用distance和advance把const_iterators转化成iterators。