fre*_*low 4 c++ arrays stl aggregate c++11
我正在建立自己的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
}
Run Code Online (Sandbox Code Playgroud)