เหตุใด std :: ssize () จึงถูกนำมาใช้ใน C ++ 20
C ++ 20แนะนำstd::ssize()ฟังก์ชันฟรีดังต่อไปนี้: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; ดูเหมือนการใช้งานที่เป็นไปได้จะใช้static_castเพื่อแปลงค่าส่งคืนของsize()ฟังก์ชันสมาชิกของ cl ass Cเป็นคู่ที่ลงนาม เนื่องจากsize()ฟังก์ชันสมาชิกของ C จะส่งกลับค่าที่ไม่ใช่ค่าลบเสมอเหตุใดใคร ๆ จึงต้องการเก็บไว้ในตัวแปรที่ลงชื่อ static_castในกรณีที่ต้องการจริงๆมันเป็นเรื่องของความเรียบง่าย เหตุใดจึงถูกstd::ssize()นำมาใช้ใน C ++ 20