в строке: ((string*)userp)->append((char*)contents, size * nmemb);
Зачем использовать (char*)
или (string*)
в отличие от char*
или string
? Попытка использовать char*
или string
приводит к ошибке. Также, что делает оператор ->
делать? Кажется, что он просто занимает место str.append(var, pos);
(string *) - это приведение к указателю на строку, а string - строка класса. (char *) - это приведение к указателю на char, а char * - указатель на char. оператор → получает доступ к атрибутам или методам указателя на класс
->
делать?" лучше всего ответить, прочитав любую вводную книгу по C ++ ...