原因,C++20 中添加了 std::ssize。当然,如果拥有
std::ssize
是合理的,那么出于同样的原因,拥有 ssizeof
也是同样合理的。这只是没有人费心提出的情况,还是有什么充分的理由没有提出?
列出的基本原理参考文献谈到了当容器尺寸为 0 时,对尺寸包装进行小幅减法的可能性。
sizeof
不会导致尺寸为零。 CPP 参考;
即使应用于空类类型,sizeof 的结果也始终不为零。
https://en.cppreference.com/w/cpp/language/sizeof
ssize
适用于带有元素的容器,sizeof
适用于对象,它们的目标不同,原理也略有不同。
总而言之,如果您的用例需要它,那么以类似的方式为其实现一些东西并不会太困难。