不像std::basic_string::data()和字符串文字,data()可能会返回指向非空终止缓冲区的指针。因此,这通常是一个错误的通过。data()一个只需要一个const CharT*并期望一个以空结尾的字符串。 例 二次 代码语言:javascript 复制 #include<iostream>#include<cstring>#include<cwchar>#include<string>#include<string...
Defined in header<string_view> TypeDefinition std::string_view(C++17)std::basic_string_view<char> std::wstring_view(C++17)std::basic_string_view<wchar_t> std::u8string_view(C++20)std::basic_string_view<char8_t> std::u16string_view(C++17)std::basic_string_view<char16_t> ...
std::basic_string_view 定义于头文件<string_view> template< classCharT, classTraits=std::char_traits<CharT> >classbasic_string_view; (C++17 起) 类模板basic_string_view描述一个能指代常量连续仿char对象序列的对象,序列首元素在零位置。 提供数种对常用字符类型的 typedef : ...
2%29相当于rfind(basic_string_view(&c, 1), pos)... 3%29相当于rfind(basic_string_view(s, count), pos)... 4%29相当于rfind(basic_string_view(s), pos)... 参数 v - view to search for pos - position at which to start the search ...
2)等价于find(basic_string_view(std::addressof(ch),1), pos)。 3)等价于find(basic_string_view(s, count), pos)。 4)等价于find(basic_string_view(s), pos)。 参数 v-要搜索的子串 pos-要开始搜索的位置 count-要搜索的子串长度 s-指向要搜索的字符串的指针 ...
std::basic_string_view<CharT,Traits>::copyC++ 字符串库 std::basic_string_view size_type copy( CharT* dest, size_type count, size_type pos = 0 ) const; (C++17 起) (C++20 前) constexpr size_type copy( CharT* dest, size_type count, size_type pos = 0 ) const; (C++20 起) ...
#include <string_view> #include <iostream> void check_string(std::string_view ref) { // 打印以单引号环绕的字符串、它的长度及其是否为空。 std::cout << std::boolalpha << "'" << ref << "' has " << ref.size() << " character(s); emptiness: " << ref.empty() << '\n'; ...
std::basic_string_view<CharT,Traits>::begin,std::basic_string_view<CharT,Traits>::cbegin constexprconst_iterator begin()constnoexcept; (C++17 起) constexprconst_iterator cbegin()constnoexcept; (C++17 起) 返回指向视图首字符的迭代器。
不同于 std::basic_string::data() 和字符串字面量, data() 可以返回指向非空终止的缓冲区的指针。从而将 data() 传递给一个仅接收 const CharT* 并期待空终止字符串的子程序是一个典型错误。 示例运行此代码 #include <iostream> #include <cstring> #include <cwchar> #include <string> #include <str...
#include <string_view>int main() { constexpr std::basic_string_view<char> source{"ABCDEF"}; std::array<char, 8> dest; std::size_t count{}, pos{}; dest.fill('\0'); source.copy(dest.data(), count = 4); // pos = 0 ...