Puntatori e stringhe

di Anonimizzato17016 il
2 risposte
Salve, premetto, come già detto nel mio argomento di presentazione, di essere davvero alle prime armi con la programmazione in C++.
Andando con ordine:
ho chiaro che con un comando del tipo:
const char* char_pointer = "Harry";
il puntatore char_pointer punta al carattere 'H' di "Harry";
Se non sbaglio, "Harry" è da considerarsi un vero e proprio array di char, giusto?
Non so fare lo stesso quando ho a che fare con una stringa (dichiarata e inizializzata come stringa appunto), eppure ho letto che una stringa è da considerarsi anch'essa come un'array di caratteri.
Se scrivo un comando del tipo:
string x = "Harry";
const char* char_pointer = x;
il compilatore mi dà un errore di conversione.
Come posso utilizzare un puntatore per puntare i caratteri di una stringa?
Grazie anticipatamente.

2 Risposte

  • String è una classe e l'oggetto che ottieni ha al suo interno l'array di char corrispondente. Se vuoi il suo indirizzo devi usare un suo metodo che lo restituisca, ovvero il metodo c_str

    Studia a partire da

    http://www.cplusplus.com/reference/string/string/c_str
  • Grazie, leggo e provo subito!
Devi accedere o registrarti per scrivere nel forum
2 risposte