“cpp/string/basic string view/remove suffix”的版本间的差异

来自cppreference.com
第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}}
 
{{dcl begin}}
 
{{dcl begin}}
{{dcl | since=c++17 |
+
{{dcl|since=c++17|
constexpr void remove_suffix(size_type n);
+
constexpr void remove_suffix( size_type n );
 
}}
 
}}
 
{{dcl end}}
 
{{dcl end}}
  
  向移动 视图终点 {{tt|n}} 个字符。
+
  向 移动 {{|n}} 个字符。
  
 
 若 {{c|n > size()}} 则行为未定义。
 
 若 {{c|n > size()}} 则行为未定义。
第13行: 第13行:
 
===参数===
 
===参数===
 
{{par begin}}
 
{{par begin}}
{{par | n |要从视图终点移除的字符数}}
+
{{par|n|要从视图终点移除的字符数}}
 
{{par end}}
 
{{par end}}
  
第26行: 第26行:
 
#include <iostream>
 
#include <iostream>
 
#include <string_view>
 
#include <string_view>
 +
 
int main()
 
int main()
 
{
 
{
第33行: 第34行:
 
     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 << "Array: '" << arr << "', size=" << sizeof arr << '\n'
+
     std::cout << " : '" << arr << "', size=" << sizeof arr << '\n'
               << "View : '" << v << "', size=" << v.size() << '\n';
+
               << " : '" << v << "', size=" << v.size() << '\n';
 
}
 
}
 
|output=
 
|output=
Array: 'abcd', size=7
+
: 'abcd', size=7
View : 'abcd', size=4
+
: 'abcd', size=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|es|ja}}
 
{{langlinks|en|es|ja}}

2024年3月9日 (六) 04:48的版本

 
 
 
 
constexpr void remove_suffix( size_type n );
(C++17 起)

将视图末尾向后移动 n 个字符。

n > size() 则行为未定义。

目录

参数

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

参阅

通过向前移动起点收缩视图
(公开成员函数) [编辑]