- string[meta header]
- std[meta namespace]
- basic_string[meta class]
- function[meta id-type]
- cpp20[meta cpp]
bool starts_with(std::basic_string_view<charT, traits> x) const noexcept; // (1)
bool starts_with(charT x) const noexcept; // (2)
bool starts_with(const charT* x) const; // (3)指定の文字列で始まるかを判定する。
- (1) :
*thisが保持する文字列の先頭が、xが参照する文字列範囲と一致するかを判定する - (2) :
*thisが保持する文字列の先頭が、文字xと一致するかを判定する - (3) :
*thisが保持する文字列の先頭が、文字列xと一致するかを判定する
以下と等価である:
return std::basic_string_view<charT, traits>(data(), size()).starts_with(x);- data()[link data.md]
- size()[link size.md]
- starts_with[link /reference/string_view/basic_string_view/starts_with.md]
- (1), (2) : 投げない
#include <cassert>
#include <string>
int main()
{
const std::string s = "aaabbbcccdddeee";
// (1)
{
std::string_view sv = "aaa";
assert(s.starts_with(sv));
}
// (2)
{
assert(s.starts_with('a'));
}
// (3)
{
assert(s.starts_with("aaa"));
}
}- starts_with[color ff0000]
- C++20
- Clang, C++20 mode: 7.0
- GCC, C++20 mode: 9.1
- Visual C++: ??