[C++ 23] std::basic_string_view<CharT,Traits>::contains 를 사용하면 특정 문자열이 들어있는지 여부를 쉽게 판단할 수 있습니다.
사용을 위해선 #include <string_view> 헤더를 추가해야 합니다.
사용 예시
import std;
using namespace std::literals;
// 정적 assertion 으로 활용하는 예 - cppreference.com
static_assert
(
// bool contains(basic_string_view x) const noexcept;
"https://cppreference.com"sv.contains("cpp"sv) == true and
"https://cppreference.com"sv.contains("php"sv) == false and
// bool contains(CharT x) const noexcept;
"C++23"sv.contains('+') == true and
"C++23"sv.contains('-') == false and
// bool contains(const CharT* x) const;
std::string_view("basic_string_view").contains("string") == true and
std::string_view("basic_string_view").contains("String") == false
);
// std::println 으로 출력하기
void main()
{
std::string hi { "Hello World!" };
std::println( "{}", hi.contains("World") ); // true
std::println( "{}", hi.contains('!') ); // true
std::println( "{}", hi.contains('?') ); // false
}
참고자료
https://en.cppreference.com/w/cpp/string/basic_string_view/contains
https://youtu.be/Cttb8vMuq-Y?si=27O4wT_0P4hwq67u&t=1716
'C++' 카테고리의 다른 글
[C++ Core Guidelines] I.4 명확한 타입을 사용해서 인터페이스를 만들자 (0) | 2024.05.09 |
---|---|
[C++ Core Guidelines] I.3 싱글톤은 가급적 쓰지 말자 (0) | 2024.05.04 |
[C++ Core Guidelines] I.2 전역 변수는 상수로 만들자 (0) | 2024.04.30 |
[C++ Core Guidelines] I.1 인터페이스를 분명하게 만들자 (0) | 2024.04.30 |
[C++ Core Guidelines] P.12, P.13 도구를 잘 활용하자 (0) | 2024.04.26 |