gpt4 book ai didi

c++ - 为什么没有 std::size?

转载 作者:太空狗 更新时间:2023-10-29 20:24:19 25 4
gpt4 key购买 nike

Scott Meyers , Herb Sutterothers提倡非成员函数优于成员函数。随着 std::beginstd::cend 等的添加,STL 似乎正在朝那个方向发展。如果是这样,为什么没有 std::size

我假设是因为定义您自己的版本很容易:

namespace std {
// C++14
template <typename C>
decltype(auto) size(const C& c)
{
return distance(cbegin(c), cend(c));
}
}

还是我遗漏了什么?即是否有理由使用非成员(member)尺寸

最佳答案

Why is there no std::size?

因为没有人及时编写提案以将其包含在 C++14 中。 The first draft of the proposal to add it日期为 2014 年 5 月,在 C++14 标准于 2014 年 2 月进行最后一轮投票后很久。

A revised version提案的 voted into the C++ working paper在委员会 11 月的最后一次 session 上(参见 LWG 议案 20),因此您很可能会在标准的下一次修订(C++17?)中看到它,以及 std::empty()std::data()

关于c++ - 为什么没有 std::size?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28498555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com