访问数组C ++的最后一个地址的最安全的方法

时间:2014-09-17 03:22:31

标签: c++ arrays pointers memory-access

想象一下:

int main (void)
{
    int V[101];
    populateSomehow(V);
    std::sort(V, &V[100]); //which one
    std::sort(V, V+100);
}

是否有'更安全的'?

2 个答案:

答案 0 :(得分:4)

从c ++ 11开始,您可以使用std::beginstd::end。例如:

int V[100];

std::sort(std::begin(V), std::end(V));

答案 1 :(得分:1)

C风格还有另一种方式:

int V[101];

std::sort(V, V + sizeof(V)/sizeof(V[0]));