<分区>
在现代 C++ 中,我们可以在原生数组上使用 std::end。我想问一下这是如何工作的,以了解对此的性能考虑。
<分区>
在现代 C++ 中,我们可以在原生数组上使用 std::end。我想问一下这是如何工作的,以了解对此的性能考虑。
最佳答案
如果你有一个名为 a
的数组,大小为 N
,那么 std::end(a)
与 的含义相同>a + N
。它不需要执行任何运行时工作来查找数组的大小,因为该大小在编译时已知。
请注意,std::end
不适用于指针。它仅适用于尚未衰减为指针的数组,因此大小信息静态存在于调用站点。
关于c++ - std::end 如何在 native 数组上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42292122/