Возврат указателя. Указатель на функцию
Доброго времени.
Помогите разобраться, а то я запутался. Перечитал достаточно литературы, но в голове каша. Был бы очень благодарен, если бы объяснили эти моменты (если не затруднит, привести пример):
1) зачем возвращать указатель и как оперировать с ним дальше можно? Касательно возврата на начало строки.
Ticket* zapolnenie (Ticket *T)
{
return *T
}
2) вот, что пишут в книге:
double (*pf)(int);
//pf указывает на ф-ю, которая возвращает значение типа double
double *pf(int);
//pf() является ф-ей, которая возвращает указатель на значение типа double
Обновление
@KoVadim, gо поводу первого, написал код, но смысл использования может быть такой?
char *ref(char *ch, int i);
int main()
{
int i=3;
char c[6]="Hello";
cout<<*ref(c,i);
return 0;
}
char *ref(char *ch, int i){
return &ch[i];}
//////////////////
Зачем передавать функции указатель для сравнивания строк, если его можно использовать внутри функции, написав strcmp()?
void check(char *a, char *b, int (*cmp) (const char *, const char *));
int (*p) (const char*, const char*);
p = strcmp;
check(s1, s2, p);