我在Google上找到了类似的东西:
for(int i=0;someString[i];++i){
//code to do
}
但是我不知道someString [i]是什么意思。它不应该是布尔表达式,那么编译器如何知道何时结束循环?也许这是一个琐碎的问题,但是我对C ++还是很陌生。
谢谢你向前
最佳答案
如果someString
是包含可以转换为bool
的所有内容的数组,则访问其元素将作为条件。例如,如果它是一个char
数组,则'\0'
上的所有元素栏都将求值为true
。例如:
#include <iostream>
int main()
{
char someString[] = {'h', 'e', 'l', 'l', 'o', '\0'};
std::cout << std::boolalpha;
for (auto c : someString)
std::cout << bool(c) << std::endl;
}
您的循环将在遇到第一个伪造元素时停止。
关于c++ - 条件字符串的C++ [i],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20871244/