Я взял этот кусок кода, который я скопировал в свою программу. Это, кажется, новый способ для меня, чтобы перебирать гольца **:iterate char ** почему это работает?
char** vArray; // The array containing values
// Go throught properties
if(szKey == "KeyMgmt")
{
vArray = (char**)g_value_get_boxed((GValue*)value);
for(; vArray && *vArray ; vArray++) // Why does this work ?!
pWpaKey->addKeyMgmt(std::string(*vArray));
}
else if(szKey == "Pairwise")
{
// ...
}
Похоже, работать как шарм, но я не understant почему! Предполагается, что vArray содержит адрес справа? И * vВведите значение «строка». Так почему, когда я «И» адрес с его значением, это дает мне равенство?
В качестве подсказки: '&&' является логическим И, а '&' является двоичным И. –
C тег заменен на C++. Не существует '::' в C. – pmg