跳到主要内容

std::string_view max_size() 方法

// Const version only
constexpr bool max_size() const noexcept;

返回视图因系统或库实现限制而能够容纳的**最大字符数**,即对于最大的容器,std::distance(begin(), end())

参数

(无)

返回值

视图可以容纳的最大字符数。

复杂度

常数 - O(1)

备注

此值通常反映容器大小的理论限制,最多为 std::numeric_limits<difference_type>::max()

在运行时,容器的大小可能会因可用 RAM 量而限制为小于max_size()的值。

示例

Main.cpp
#include <iostream>
#include <limits>
#include <string_view>

int main() {
std::cout
<< std::numeric_limits<std::int64_t>::max()
<< " <- numeric_limits<int64_t>::max()\n"
<< std::string_view{}.max_size()
<< " <- std::string_view::max_size()\n"
<< std::basic_string_view<char>{}.max_size()
<< " <- std::basic_string_view<char>::max_size()\n"
<< std::basic_string_view<char16_t>{}.max_size()
<< " <- std::basic_string_view<char16_t>::max_size()\n"
<< std::wstring_view{}.max_size()
<< " <- std::wstring_view::max_size()\n"
<< std::basic_string_view<char32_t>{}.max_size()
<< " <- std::basic_string_view<char32_t>::max_size()\n"
;
}
可能输出
9223372036854775807 <- numeric_limits<int64_t>::max()
4611686018427387899 <- std::string_view::max_size()
4611686018427387899 <- std::basic_string_view<char>::max_size()
2305843009213693949 <- std::basic_string_view<char16_t>::max_size()
1152921504606846974 <- std::wstring_view::max_size()
1152921504606846974 <- std::basic_string_view<char32_t>::max_size()
本文来源于此 CppReference 页面。它可能为了改进或编辑偏好而被修改。点击“编辑此页面”查看此文档的所有更改。
悬停查看原始许可证。

std::string_view max_size() 方法

// Const version only
constexpr bool max_size() const noexcept;

返回视图因系统或库实现限制而能够容纳的**最大字符数**,即对于最大的容器,std::distance(begin(), end())

参数

(无)

返回值

视图可以容纳的最大字符数。

复杂度

常数 - O(1)

备注

此值通常反映容器大小的理论限制,最多为 std::numeric_limits<difference_type>::max()

在运行时,容器的大小可能会因可用 RAM 量而限制为小于max_size()的值。

示例

Main.cpp
#include <iostream>
#include <limits>
#include <string_view>

int main() {
std::cout
<< std::numeric_limits<std::int64_t>::max()
<< " <- numeric_limits<int64_t>::max()\n"
<< std::string_view{}.max_size()
<< " <- std::string_view::max_size()\n"
<< std::basic_string_view<char>{}.max_size()
<< " <- std::basic_string_view<char>::max_size()\n"
<< std::basic_string_view<char16_t>{}.max_size()
<< " <- std::basic_string_view<char16_t>::max_size()\n"
<< std::wstring_view{}.max_size()
<< " <- std::wstring_view::max_size()\n"
<< std::basic_string_view<char32_t>{}.max_size()
<< " <- std::basic_string_view<char32_t>::max_size()\n"
;
}
可能输出
9223372036854775807 <- numeric_limits<int64_t>::max()
4611686018427387899 <- std::string_view::max_size()
4611686018427387899 <- std::basic_string_view<char>::max_size()
2305843009213693949 <- std::basic_string_view<char16_t>::max_size()
1152921504606846974 <- std::wstring_view::max_size()
1152921504606846974 <- std::basic_string_view<char32_t>::max_size()
本文来源于此 CppReference 页面。它可能为了改进或编辑偏好而被修改。点击“编辑此页面”查看此文档的所有更改。
悬停查看原始许可证。