- string[meta header]
- std[meta namespace]
- basic_string[meta class]
- function[meta id-type]
- cpp23[meta cpp]
constexpr bool contains(basic_string_view<charT, traits> x) const noexcept; // (1) C++23
constexpr bool contains(charT x) const noexcept; // (2) C++23
constexpr bool contains(const charT* x) const; // (3) C++23
- basic_string_view[link /reference/string_view/basic_string_view.md]
指定の文字・文字列が含まれているかを判定する。
- (1) :
*this
が保持する文字列に、x
が参照する文字列範囲を含んでいるかを判定する - (2) :
*this
が保持する文字列に、文字x
が含まれているかを判定する - (3) :
*this
が保持する文字列に、文字列x
が含まれているかを判定する
この関数は、find
(x) != npos
の代わりに使用できる。
- 以下と等価である
return basic_string_view<charT, traits>(data(), size()).contains(x);
- basic_string_view[link /reference/string_view/basic_string_view.md]
- contains[link /reference/string_view/basic_string_view/contains.md]
- data()[link data.md]
- size()[link size.md]
- (1), (2) : 投げない
#include <cassert>
#include <string>
int main() {
std::string s = "Hello World";
// (1)
{
std::string_view target = "rl";
assert(s.contains(target));
}
// (2)
{
assert(s.contains('W'));
}
// (3)
{
assert(s.contains("rl"));
}
}
- contains[color ff0000]
- C++23
- Clang: 12.0 [mark verified]
- GCC: 11 [mark verified]
- Visual C++: 2022 [mark verified]