modernize-use-starts-ends-with

检查表达 starts_withends_with 的常见绕行方式,并在可用时建议使用更简单的替代方法。值得注意的是,这将适用于 std::stringstd::string_view

std::string s = "...";
if (s.find("prefix") == 0) { /* do something */ }
if (s.rfind("prefix", 0) == 0) { /* do something */ }
if (s.compare(0, strlen("prefix"), "prefix") == 0) { /* do something */ }
if (s.compare(s.size() - strlen("suffix"), strlen("suffix"), "suffix") == 0) {
  /* do something */
}
if (s.rfind("suffix") == (s.length() - 6)) {
  /* do something */
}

变成

std::string s = "...";
if (s.starts_with("prefix")) { /* do something */ }
if (s.starts_with("prefix")) { /* do something */ }
if (s.starts_with("prefix")) { /* do something */ }
if (s.ends_with("suffix")) { /* do something */ }
if (s.ends_with("suffix")) { /* do something */ }