检查动态数组的索引是否为空?

时间:2015-04-04 15:05:09

标签: c++ arrays

请检查动态数组的某些索引是否为空?

string *array = new string [size];
...some code
while(array[index] != NULL) //this gives error 
    i++;

感谢..

1 个答案:

答案 0 :(得分:1)

如果您的代码中的string只是std::string,请使用string::empty

对于默认构造的stringempty()将始终返回true。如果要在某个时刻清除字符串,请使用string::clear。致电clear()后,empty()将始终返回true。

因此,您的代码应如下所示:

string *array = new string [size];
...some code
while(!array[index].empty())
    i++;

请注意,您不会检查索引是否为空' - array是一个字符串数组,所以所有'插槽'包含有效的字符串对象您只能检查其中某些对象是否为空 - 以及此代码的作用。