C++如何迭代直到动态数组结束?

and*_*and 2 c++ arrays

假设我声明了一个动态数组

int *dynArray = new int [1];
Run Code Online (Sandbox Code Playgroud)

在某些时候用未知数量的int值初始化.

我将如何迭代直到我未知大小的数组结束?

另外,如果它读取一个空格,那么它在阵列中的相应位置最终会被废弃吗?

从以下用户复制输入:

事情是:

a)我不允许使用STL(意思是:不)

b)我想将字符串分解为其字符并存储它们.到目前为止,我想使用这样的函数:

 string breakLine (string line){


         int lineSize = line.size();

         const char *aux;

         aux=line.data();

         int index=0;


         while (index<=lineSize){
         mySynonyms[index]=aux[index]; 

         index++;
         }
Run Code Online (Sandbox Code Playgroud)

如果要存储的两个数字之间有一个很大的空白区域(显然不是),我认为数组aux最终会被废弃.我想知道是否有一种方法可以迭代到这种类型的数组中的未定义结束.谢谢你的回答.

xto*_*ofl 15

你没有:将数组包装成一个记住它的长度的结构:std::vector.

std::vector v(1);
std::for_each( v.begin(), v.end(), ... );
Run Code Online (Sandbox Code Playgroud)


Nem*_*vic 5

没有便携的方式这样做.要么将大小与数组一起传递,要么更好地使用标准容器,例如std::vector