Comprensione funzione con puntatori

di Anonimizzato21817 il
18 risposte
Studiando i puntatori ho voluto approfondire e nel sito del c++refernce ho trovato questo codice dove viene dichiarata una funzione ma per parametro ha un puntatore a funzione abbastanza strano.
int f(int a, int *p, int (*(*x)(double))[3]);
Potreste spiegarmi cosa significa quel int int (*(*x)(double))[3]. E poi avrei un'altra richiesta: dove posso trovare tutti i tipi di puntatori, da quelli utilizzati normalmmente a quelli più strani come questi? Grazie in anticipo per l'aiuto.

18 Risposte

  • Grazie mille per il link, ma come si fà a capire come e quando usare questo tipo di notazione. E come si fà a capire se si può scrivere in un determinato modo.Ci devono pur essere delle regole.
  • Devi partire da che tipo di funzione ti serve. Parametri e tipo dato restituito.

    Se ti serve un puntatore a quella funzione, una volta determinata la funzione, segui le regole della sintassi del C presenti in qualsiasi libro.

    Questi sono argomenti che risultano ostici anche a chi ha esperienza, non vedo perché tu li debba affrontare ora quando hai ancora tanta altra roba da imparare. E sono sempre argomenti del C.
  • Ah ma quindi quell 'array si poteva mettere davanti a int come in una qualsiasi dichiarazione di array?
  • No, chi l'ha detto?
  • Ma non capisco come fà a funzionare quell'array lì?
  • Ma che vuoi dire???

    Quel modo di scrivere indica che la funzione restituirà un puntatore ad un array di 3 int

    Che c'è da capire?
  • Non capisco per quale regola sintattica del c++ si possa scrivere così. In c++ da quel che ho capito non si possono scrivere cose a caso e non ho mai trovato nulla sui libri che parlassero di questo tipo di scrittura.
  • Ti ripeto per l'ultima volta, questa è roba del C che si usa anche in C++

    I puntatori a funzione si usano da sempre in C e non si scrivono a caso. Seguono regole precise che sono riportate in qualsiasi libro decente di C e di C++.

    Evidentemente tu non ne hai mai letti.
  • Io ho dei libri di c++ ma queste cose non ci sono.
  • Buttali
  • In che libro posso trovarli questi argomenti?
  • Cerca su amazon e leggi l'indice
  • Va bene, grazie per l'aiuto.
Devi accedere o registrarti per scrivere nel forum
18 risposte