首页 理论教育 大道至简:C++STL标准模板库基础教程

大道至简:C++STL标准模板库基础教程

时间:2023-10-25 理论教育 版权反馈
【摘要】:对于类似字符的类型charT,尤其是在类模板basic_regex中,用于表示正则表达式中的字符序列时,都是采用charT类型字符。存储正则表达式的空间的分配和释放是必需的,并且可作为类basic_regex的成员函数。正则表达式的异常错误是通过类regex_error来处理的。类模板basic_regex的声明形式如下:上述类声明包含5种数据类型、构造函数和析构函数、正则表达式赋值符号、7个成员函数以及10个常量标识。其中,5种数据类型包括value_type、traits_type、string_type、flag_type和locale_type。

大道至简:C++STL标准模板库基础教程

对于类似字符的类型charT,尤其是在类模板basic_regex中,用于表示正则表达式中的字符序列时,都是采用charT类型字符。charT代表一个像字符的类型。存储正则表达式的空间的分配和释放是必需的,并且可作为类basic_regex的成员函数。

类basic_regex的对象可以转换charT类型对象的顺序。正则表达式的异常错误是通过类regex_error来处理的。类模板basic_regex的声明形式如下:

978-7-111-51399-5-Chapter17-26.jpg

978-7-111-51399-5-Chapter17-27.jpg

上述类声明包含5种数据类型、构造函数和析构函数、正则表达式赋值符号、7个成员函数以及10个常量标识。

其中,5种数据类型包括value_type、traits_type、string_type、flag_type和locale_type。它们均是利用typedef重新定义而来的,分别代表其原来类型的新名称。

构造函数具有8种形式,参见例17-3。

例17-3

978-7-111-51399-5-Chapter17-28.jpg

978-7-111-51399-5-Chapter17-29.jpg

例17-3的执行效果如图17-3所示。

978-7-111-51399-5-Chapter17-30.jpg

图17-3 例17-3的执行效果

10个常量标识见表17-5。

17-5 常量标识表

978-7-111-51399-5-Chapter17-31.jpg(www.xing528.com)

其余的成员函数还包括assign()、mark_count()、flags()、imbue()、getloc()和swap()。

assign()函数主要用于给正则表达式类型对象赋值。

markcount()函数主要用于确定正则表达式中子表达式的数量。

flags()函数主要用于返回正则表达式中的句法标识。

imbue()函数主要用于将locale类型对象和正则表达式相关联。

getloc()函数主要用于获取本地化对象。

swap()函数用于交换两个正则表达式之间的值。

各函数的使用方法参见例17-4。

例17-4

978-7-111-51399-5-Chapter17-32.jpg

978-7-111-51399-5-Chapter17-33.jpg

例17-4的执行效果如图17-4所示。

978-7-111-51399-5-Chapter17-34.jpg

图17-4 例17-4的执行效果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈