`
isiqi
  • 浏览: 15948619 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

string 类和标准模板库

 
阅读更多

sting类:

string类包含大量的方法,其中包括了若干构造函数,用于将字符串赋给变量、合并字符串、比较字符串和访问各个元素的重载操作符以及用于在字符串中查找字符和子字符串的工具等。

string类输入:

对于C-风格字符串,有3种方式:

charinfo[100];

cin>>info;//readaword

cin.getline(info,100);//readaline,discard\n

cin.get(info,100);//readaline,leave\ninqueue

string还提供了:方法capacity()返回当前分配给字符串的内存块的大小,而

reserve()方法让您能够请求内存块的最小长度。

auto_ptr类:

这是一个模板类,用于管理动态内存分配的用法。

上图说明了auto_ptr和常规指针在行为方面的差别

因此,要转换remodel()函数,应按下面的3个步骤进行:

1、包含头文件memory

2、将指向string的指针替换为指向stringauto_ptr对象。

3、删除delete语句。

auto_ptr是一种智能指针(smartpointer)——类似于指针,但特性比指针更多。

标准模板库STL提供了一组表示容器、迭代器、函数对象和算法的模板。所有的STL容器都提供了一些基本方法,其中包括size()——返回容器中元素数目、swap()——交换两个容器的内容、begin()——返回一个指向容器中第一个元素的迭代器、end()——返回一个表示超过容器尾的迭代器。

代表性的STL函数:fot_each()random_shuffle()sort()。的for_each()函数可用于许多容器类,它接受3个参数。前两个是定义容器中区间的迭代器,最后一个是指向函数的指针。For_each()函数将被指向的函数应用于容器区间中的各个元素。被指向的函数不能修改容器元素的值。可以用for_each()函数来代替for循环。

迭代器的特征:

1、应能够对迭代器执行解除引用的操作,以便能够访问它引用的值。如果p是一个迭代器,则应对*p进行定义。

2、应能够将一个迭代器赋给另一个。如果pq都是迭代器,则应对表达式p=q进行定义。

3、应能够将一个迭代器与另一个进行比较,看它们是否相等。即如果pq都是迭代器,则应对p==qp=q进行定义。

4、应能够使用迭代器遍历容器中的所有元素,这可以通过为迭代器p定义++pp++来实现。

STL的方法:首先,每个容器类(vectorlistdeque等)定义了相应的迭代器类型。对于其中的某个类,迭代器可能是指针;而对于另一个类,则可能是对象。其次,每个容器类都有一个超尾标记,当迭代器递增到超越容器的最后一个值后,这个值将被赋给迭代器。

STL定义了5种迭代器,分别是输入迭代器、输出迭代器、正向迭代器、双向迭代器和随机访问迭代器。

STL容器种类:dequelistqueueprioritypriority_queuestackvectormapmultisetbitset

分享到:
评论

相关推荐

    xxx.rar_11xxx1609_919XXX_machine1w6_wrongjsy_标准模板库

    string类和标准模板库包括string类,智能指针模板类,标准模板库,泛型编程等

    C++Primer第四版英文版

    分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑操作符、函数重载和函数模板、内存模型和名称空间...重用、友元、异常处理技术、string类和标准模板库、输入/输出等内容...

    C++ Primer第四版 中文版(第一卷)

    分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑操作符、函数重载和函数模板、内存模型和名称空间...重用、友元、异常处理技术、string类和标准模板库、输入/输出等内容...

    C++-STL标准模板库中的string

    C++_STL标准模板库中的string

    自学编程语言资料合集2

    分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑运算符、函数重载和函数模板、内存模型和名称空间...处理技术、string类和标准模板库、输入/输出、C++11新增功能等内容...

    cppPrimerPlus-six--master.zip

    分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑操作符、函数重载和函数模板、内存模型和名称空间...重用、友元、异常处理技术、string类和标准模板库、输入/输出等内容...

    C++标准模板库STL初步(2)

    组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的几个头文件:<string>、、、、、、、、、、、、和。文件中主要介绍了前面八个的使用,并且重点介绍了他们的属性和一些成员函数的使用。

    自己动手编写string类

    标准库中的string并不是一个独立的类,而是basic_string模板类的一个特化版本: typedef basic_string, char_traits, allocator<char> > string; 我们今天要做的事情是,模仿标准库string的行为,编写一个属于自己的...

    C++标准模板库string类的介绍与使用讲解

    跟进代码会发现string其实只是basic_string模板类的一个typedef。 赋值 //方法1 string str1 = "woniu201"; //方法2 char* p = "woniu201"; string str2 = p; 遍历 //方法1 使用下标 for (int i=0; i<...

    vector list map pair stl 标准模板库 c++

    vector list map pair stl 标准模板库 c++ 程序示例

    STL库string类的模拟实现

    3. string类是使用char(即作为它的字符类型,使用它的默认char_traits和分配器类型(关于模板的更多信 息,请参阅basic_string)。 4. string类是basic_string模板类的一个实例,它使用char来实例化basic_string模板类...

    STL标准模板库源代码分享

    STL原码库,包括Map,vector,string等等的源代码,用户可以直接设定包含路径后就能在程序中使用

    C++标准模板库STL初步(1)

    组成的库来说提供了更好的代码重用机会。在C++标准中,STL被组织为下面的几个头文件:<string>、、、、、、、、、、、、和。文件中主要介绍了前面八个的使用,并且重点介绍了他们的属性和一些成员函数的使用。

    STL标准模板库 字符与字符串 string,string-view,const char *

    能支持任意STL容器打印

    C语言参考手册 C标准 (内含6个chm格式手册)

    标准 C 库: Standard C I/O Standard C String & Character Standard C Math Standard C Time & Date Standard C Memory Other st andard C functions C++ 标准模板库 C++ Bitsets C++ Double-Ended Queues C++ ...

    c和c++语言参考(标准c库及c++模板等)

    标准c库,c++模板,c++ IO,c++ string,全部c函数,和全部c++函数

    C++标准程序库STL的架构

    5 STL标准程序库 16 5.1 STL组件 16 5.1.1 分类 16 5.1.2 基本观念 16 5.1.3 好处 16 5.2 容器(containers) 16 5.2.1 分类 16 5.2.2 序列式容器示例 16 5.2.3 关联式容器 18 5.3 迭代器 18 5.3.1 示例 19 5.3.2 ...

    STL标准模板函数学习资料.zip

    该文件包含了很多C++中的标准模板库,以及算法的相关知识。在这里你可以更好的学习到很多容器的使用方法。其中包含了string类、系列容器,容器适配器、map容器、set容器、流迭代器、C++的常用算法!希望可以帮助到你...

Global site tag (gtag.js) - Google Analytics