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
локально для этой функции
Может ли кто-нибудь помочь мне с логикой этого кода?Я знаю, что это компилируется, но ответы, которые я получаю, не те, которые я ожидаю.Я запоминаю буфер, заполненный A5, и цикл while как-то не работает.Это пропускает прямо мимо этого.Любая помощь будет отличной.
Это будет проходить через буфер, и если значение указателя или значение (ptr+1)
истинно, оно будет увеличивать указатель И И ptr не может превышать размер буфера (который определяетсяm_pptr
«указатель на начало буфера» + размер буфера) также должен быть истинным.Оператор if говорит, что если m_pptr (указатель на начало буфера совпадает с ptr
, то возвращает только указатель.
эта функция возвращает void*
и ничего не передается