打印出任意长度的数组

Vao*_*ter 0 c++ arrays

我试图打印出一个整数数组,其长度我不知道在C++中.这是我的尝试.

    int i = 0;
    while ( X != NULL){
            cout << *(X+i) << " ";
            i+=1;
    }
Run Code Online (Sandbox Code Playgroud)

X是数组.我的问题是停止打印最后一个元素.

The*_*ish 8

数组中的最后一个元素必须是一些可以监视的魔术值(0或-1或INT_MAX或类似的东西),因此可以使用它来停止循环.否则你必须找到一种方法来记录数组的长度.

在C++中没有标准的方法来确定任意数组的长度.

另一种方法是停止使用原始数组并使用更智能的对象,这样std::vector可以提供类似数组的访问,同时还可以跟踪存储在其中的元素数量.

  • 或者`std ::/boost :: array`. (3认同)