c – 为什么这个参数在regex_match的原型中排序?

c – 为什么这个参数在regex_match的原型中排序?,第1张

概述这是std :: tr1 :: regex_match的 6 prototypes的简化 regex_match(iterator1, iterator2, match_results&, regex&, flags = some_default);regex_match(iterator1, iterator2, regex&, flags = some_def 这是std :: tr1 :: regex_match的 6 prototypes的简化

regex_match(iterator1,iterator2,match_results&,regex&,flags = some_default);regex_match(iterator1,flags = some_default);regex_match(Elem*,flags = some_default);regex_match(Elem*,flags = some_default);regex_match(string,flags = some_default);regex_match(string,flags = some_default);

我想知道为什么原型是这样设计的:

>似乎match_results和flags都是可选的,但您应该能够提供其中一个.为什么不改变match_results& flags参数旁边的参数?
>正则表达式&作为主要论点,论证似乎更直观.

有人可以解释这些原型背后的基本原理吗?

谢谢.

解决方法 我唯一能想到的是与算法库的某种风格一致性.如果你认为match_results是某种输出迭代器,那么它看起来像copy等,前面有一个迭代器范围,之后是输出迭代器,之后是谓词.不存储match_results的选项将这些变为谓词,如any_of等.

为了库中的一致性,有一些东西可以说.

这是我的猜测.

总结

以上是内存溢出为你收集整理的c – 为什么这个参数在regex_match的原型中排序?全部内容,希望文章能够帮你解决c – 为什么这个参数在regex_match的原型中排序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存