“cpp/string/basic string view/remove suffix”的版本间的差异
来自cppreference.com
< cpp | string | basic string view
小 |
|||
(未显示2个用户的3个中间版本) | |||
第1行: | 第1行: | ||
− | {{cpp/string/basic_string_view/title | remove_suffix }} | + | {{cpp/string/basic_string_view/title|remove_suffix}} |
{{cpp/string/basic_string_view/navbar}} | {{cpp/string/basic_string_view/navbar}} | ||
− | {{ | + | {{|since=c++17| |
− | + | constexpr void remove_suffix( size_type n ); | |
− | constexpr void remove_suffix(size_type n); | + | |
}} | }} | ||
− | |||
− | 向后移动 | + | 向后移动 {{|n}} 个字符。 |
− | + | {{c|n > size()}} | |
===参数=== | ===参数=== | ||
{{par begin}} | {{par begin}} | ||
− | {{par | n |要从视图终点移除的字符数}} | + | {{par|n|要从视图终点移除的字符数}} |
{{par end}} | {{par end}} | ||
− | |||
− | |||
− | |||
===复杂度=== | ===复杂度=== | ||
第26行: | 第21行: | ||
#include <iostream> | #include <iostream> | ||
#include <string_view> | #include <string_view> | ||
+ | |||
int main() | int main() | ||
{ | { | ||
第33行: | 第29行: | ||
if(trim_pos != v.npos) | if(trim_pos != v.npos) | ||
v.remove_suffix(v.size() - trim_pos); | v.remove_suffix(v.size() - trim_pos); | ||
− | std::cout << " | + | std::cout << " '" << arr << "' =" << sizeof arr << '\n' |
− | << " | + | << " '" << v << "' =" << v.size() << '\n'; |
} | } | ||
|output= | |output= | ||
− | + | 'abcd' =7 | |
− | + | 'abcd' =4 | |
}} | }} | ||
===参阅=== | ===参阅=== | ||
− | |||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/string/basic_string_view/dsc remove_prefix }} | + | {{dsc inc|cpp/string/basic_string_view/dsc remove_prefix}} |
{{dsc end}} | {{dsc end}} | ||
− | {{langlinks|en}} | + | {{langlinks|en}} |
2025年3月27日 (四) 18:30的最后版本
constexpr void remove_suffix( size_type n ); |
(C++17 起) | |
将视图末尾向后移动 n 个字符。
如果 n > size() 是 true,那么行为未定义。 |
(C++26 前) |
如果 n > size() 是 true,那么: |
(C++26 起) |
目录 |
[编辑] 参数
n | - | 要从视图终点移除的字符数 |
[编辑] 复杂度
常数。
[编辑] 示例
运行此代码
#include <iostream> #include <string_view> int main() { char arr[] = {'a', 'b', 'c', 'd', '\0', '\0', '\0'}; std::string_view v(arr, sizeof arr); auto trim_pos = v.find('\0'); if(trim_pos != v.npos) v.remove_suffix(v.size() - trim_pos); std::cout << "数组:'" << arr << "',size=" << sizeof arr << '\n' << "视图:'" << v << "',size=" << v.size() << '\n'; }
输出:
数组:'abcd',size=7 视图:'abcd',size=4
[编辑] 参阅
通过向前移动起点收缩视图 (公开成员函数) |