Something::methodname()
{
(unsigned char*) ptr = (unsigned char*) m_pptr;
while ((*ptr || *(ptr+1)) && (((unsigned char*)m_pptr+BUFSIZE)<ptr))
ptr++;
if(ptr == m_pptr)
return ptr;
return ptr + 1;
}
m_pptr
является защищенным членом класса. ptr
является местным для этой функцииПомогите с логикой C++?
Может ли кто-нибудь помочь мне с логикой этого кода? Я знаю, что это компилируется, но ответы, которые я получаю, не те, которых я ожидаю. Я memset-ing буфер, полный A5, и цикл while так или иначе сработает. Он проскакивает прямо мимо него. Любая помощь будет большой.
Это будет проходить через буфер, и если значение указателя или значение (ptr+1)
истинно, оно будет увеличивать указатель И ptr не может превышать размер буфера (который найден m_pptr
) указатель на начало буфера "+ размер буфера) также должно быть истинным. Если оператор говорит, что если m_pptr (указатель на начало буфера такое же, как ptr
затем возвращать только указатель
эта функция возвращает void*
и не передается никакого отношения
Я думаю, что у вас есть бродячая фигурная фигурная скобка где-то там –
Вы на самом деле не сказали, чего ожидаете от кода ... – Neil
И я уверен, что он не компилируется. – littleadv