for (const char* s = str; *s; s++) обьясните пожалуйста команду

#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    char str[500];
    cin.getline(str, 499);
    int right = 0;
    int h;
    int g = 1;
    if (str)
    {
        for (const char* s = str; *s; s++)
        {
            if (*s == '(')
            {
                right++;
            }
            else if (*s == ')')
            {
                if (--right < 0)
                {
                    cout << "Error position = " << s - str << endl;
                    break;
                }
                if (right > 1)
                {
                    h = right;
                    right = g;
                    g = h;
                }
            }
        }
    }
    if (right >= 0)
    {
        cout << ((right == 0) ? 0 : -1) << endl; //условие ? команда 1 : команда 2.
    }
    system("pause");
    return 0;
}

Ответы (1 шт):

Автор решения: Harry

Проход указателем s по всем символам С-строки str

for (const char* s = str; *s; s++)

s поочередно указывает на каждый символ строки str, пока не дойдет до завершающего нулевого символа.

→ Ссылка