這裏是6 prototypes的std::tr1::regex_match
爲什麼這個參數在regex_match的原型中排序?
regex_match(iterator1, iterator2, match_results&, regex&, flags = some_default);
regex_match(iterator1, iterator2, regex&, flags = some_default);
regex_match(Elem*, match_results&, regex&, flags = some_default);
regex_match(Elem*, regex&, flags = some_default);
regex_match(string, match_results&, regex&, flags = some_default);
regex_match(string, regex&, flags = some_default);
的我不知道爲什麼原型設計這樣的簡化:
- 似乎都
match_results
和flags
意圖是可選的,但你應該能夠提供其中之一。爲什麼不把match_results &
參數轉移到flags
參數旁邊? - 的
regex &
說法似乎爲龍頭的說法更直觀。
有人能解釋這些原型背後的原理是什麼?
謝謝。
'match_results&'是一個參考,那是如何選擇的? – Xeo
@Xeo:因爲沒有它就有相同的過載? – Puppy
@DeadMG:忽略我最後的評論,然後,我似乎太困了。 – Xeo