标签: c++ c++11
在Modern C ++中,我们可以在本机数组上使用std :: end。我想问一下如何理解这方面的性能考虑因素。
答案 0 :(得分:1)
如果您有一个名为a且数量为N的数组,则std::end(a)与a + N的含义相同。它不需要做任何运行时工作来查找数组的大小,因为大小在编译时是已知的。
a
N
std::end(a)
a + N
请注意,std::end不适用于指针。它只能在尚未衰减到指针的数组上工作,因此大小信息静态存在于调用站点。
std::end