我在谷歌上找到了类似的东西:
for(int i=0;someString[i];++i){
//code to do
}
但我不知道 someString[i] 是什么意思。它不应该是 bool 表达式,那么编译器如何知道循环何时结束?也许这是一个微不足道的问题,但我对 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++ 条件字符串[i],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20871244/