gpt4 book ai didi

c++ - 如何实现 array::max_size()?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:58:45 25 4
gpt4 key购买 nike

我正在构建自己的 array<T, n>用于娱乐和教育的类模板。 C++0x标准草案规定了一个成员函数max_size()对于所有容器为 distance(begin(), end()) “为了尽可能大的容器”。如何为数组实现这个成员函数?我只是返回 std::numeric_limits<std::size_t>::max() 吗? ,还是结果应该取决于元素类型?


嗯,都是std::array来自当前的 g++ 和 boost::array返回 n来自 max_size() :

#include <array>
#include <boost/array.hpp>
#include <iostream>

int main()
{
std::array<int, 11> foo;
std::cout << foo.max_size() << std::endl; // prints 11

boost::array<int, 11> bar;
std::cout << bar.max_size() << std::endl; // prints 11
}

最佳答案

如果您的数组是固定大小的,只需返回大小(在您的示例中为 n),因为这也是最大大小。

关于c++ - 如何实现 array::max_size()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5068262/

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