C++ 条件字符串[i]

标签 c++ string conditional-statements

我在谷歌上找到了类似的东西:

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/

相关文章:

c++ - 有没有办法优化这个功能?

c# - 在内存方面,将一个长的非动态字符串存储为单个字符串对象还是让程序从重复部分构建它更好?

string - 将天数添加到 Date 中,并将新日期存储在 String 中

c++ - String Verifier 字符循环无法正常工作

python - Pandas 根据所有现有列的值(第一列除外)创建新列

css - Angular 2 ngClass 条件数据?

php - 特殊字符后的正则表达式条件

c++ -/** 在 C++ 中是什么意思

c++ - 如果没有 C 标准库,有没有更好的方法来查找任意数字的日志?

c++ - 包含模板参数包的函数模板的部分排序