본문 바로가기
C++

[C++ 23] std::basic_string_view<CharT,Traits>::contains 사용하기

by 코드쉼터 2024. 5. 4.

[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