相关疑难解决方法(0)

为什么C ++ 20中引入了std :: ssize()?

C ++ 20引入了std::ssize()free函数,如下所示:

template <class C>
    constexpr auto ssize(const C& c)
        -> std::common_type_t<std::ptrdiff_t,
                              std::make_signed_t<decltype(c.size())>>;
Run Code Online (Sandbox Code Playgroud)

似乎可以使用实现static_cast,将size()cl ass C的成员函数的返回值转换为其已签名的对应函数。

由于size()C 的成员函数始终返回非负值,为什么有人会将它们存储在带符号的变量中?万一真的要,那很简单static_cast

为什么std::ssize()在C ++ 20中引入?

c++ c++20

92
推荐指数
2
解决办法
6823
查看次数

标签 统计

c++ ×1

c++20 ×1