Есть ли какая -то веская причина, по которой некоторые функции STL реализуются в виде свободных функций вместо элементов? Шаблоны, такие как Tuple или variant , бесплатные функции могут уменьшить количество экземпляров, ускорение компиляции. std :: regex_match (str, pattern) и не могу найти причины, почему я не мог бы назвать это как pattern.match (str) .
Подробнее здесь: https://stackoverflow.com/questions/797 ... -of-member