请检查动态数组的某些索引是否为空?
string *array = new string [size];
...some code
while(array[index] != NULL) //this gives error
i++;
感谢..
答案 0 :(得分:1)
如果您的代码中的string
只是std::string
,请使用string::empty。
对于默认构造的string
,empty()
将始终返回true。如果要在某个时刻清除字符串,请使用string::clear。致电clear()
后,empty()
将始终返回true。
因此,您的代码应如下所示:
string *array = new string [size];
...some code
while(!array[index].empty())
i++;
请注意,您不会检查索引是否为空' - array
是一个字符串数组,所以所有'插槽'包含有效的字符串对象您只能检查其中某些对象是否为空 - 以及此代码的作用。