[Risolto][C++]Puntatori a vector

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
Krdan
Prode Principiante
Messaggi: 38
Iscrizione: giovedì 1 marzo 2007, 14:42

[Risolto][C++]Puntatori a vector

Messaggio da Krdan »

Vorrei sapere com'è possibile lavorare con un puntatore a vector.
in sostanza, vorrei creare un puntatore a particolari string contenute nel vector solo che mi dice che l'assegnamento non è possibile.
in che modo devo fare l'assegnamento?

Codice: Seleziona tutto

vector<string> v;
string* p;
p=&v;
Io provavo a fare così ma cosa c'è di sbagliato?
Ultima modifica di Krdan il sabato 31 marzo 2007, 20:28, modificato 1 volta in totale.
Avatar utente
jack84
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 493
Iscrizione: lunedì 12 febbraio 2007, 11:13

Re: Puntatori a vector

Messaggio da jack84 »

Scusa la domanda banale ma che linguaggio consideri? c++?
il puntatore a vector credo che dovresti usare per fare un assegnamento simile (non sò neppure se si può fare). Potresti spiegare cosa vorresti fare con un'assegnamento simile, non mi è chiaro...
Ultima modifica di jack84 il sabato 31 marzo 2007, 18:34, modificato 1 volta in totale.
Non sempre si può prevedere, ma ci si può sempre preparare
Avatar utente
Krdan
Prode Principiante
Messaggi: 38
Iscrizione: giovedì 1 marzo 2007, 14:42

Re: [C++]Puntatori a vector

Messaggio da Krdan »

in pratica dovrei passare ad una funzione una string*, quindi dovrei puntare ad una singola stringa dentro il vector
Comunque si il linguaggio è c++ a volte mi scordo di scriverlo =P
Avatar utente
jack84
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 493
Iscrizione: lunedì 12 febbraio 2007, 11:13

Re: [C++]Puntatori a vector

Messaggio da jack84 »

Il vector è una classe e come tale puoi utilizzare i suoi metodi una volta instanziato l'oggetto per inserire stringhe o estrapolarle. Cerca su google i metodi di cui dispone.
Alloca così Vector:

Codice: Seleziona tutto

 std:: vector <std::string> str_Vector;
Così inserisci le stringhe:

Codice: Seleziona tutto

 std:: vector <std::string> str_Vector;
str_Vector.push_back(strData);
strData = "Two";
str_Vector.push_back(strData);
strData = "Three";
str_Vector.push_back(strData);
strData = "Four";
str_Vector.push_back(strData);ata);
Un'esempio di accesso a tutti gli elementi del vector:

Codice: Seleziona tutto


//notare che con str_Vector.size() viene restituito il numero di oggetti allocati nel Vector
for(int i=0;i < str_Vector.size(); i++)
{
std::string strd = str_Vector.at(i);
cout<<strd.c_str()<<endl;
}
La potenza di queste classi stà nel fatto che puoi perfettamente ignorare come operano e come ricercano gli oggetti al loro interno, ti basta invocare il giusto metodo per fare quello che vuoi! Molto comodo vero? ;D
Ultima modifica di jack84 il sabato 31 marzo 2007, 19:38, modificato 1 volta in totale.
Non sempre si può prevedere, ma ci si può sempre preparare
ivanino
Prode Principiante
Messaggi: 93
Iscrizione: venerdì 10 febbraio 2006, 8:47

Re: [C++]Puntatori a vector

Messaggio da ivanino »

perchè per fare una stringa non usi un molto + performante e meno casinoso

char *stringa = "blablabla";

che includendo la libreria string.h oppure con minime conoscenze di aritmetica dei puntatori è possibile gestirle per ricavarne lunghezza concatenarle, etcetc???
[img]http://"http://forum.ubuntu-it.org/index.php?action=dlattach;attach=216;type=avatar"[/img]
Avatar utente
Krdan
Prode Principiante
Messaggi: 38
Iscrizione: giovedì 1 marzo 2007, 14:42

Re: [C++]Puntatori a vector

Messaggio da Krdan »

ho inteso comunque come riuscire a passarla come string*
@ivanino: Perché deve caricare da file una grande mole di stringhe tutte di lunghezza diversa e quindi preferisco far preoccupare alle librerie delle varie allocazioni/deallocazioni di memoria mentre io mi dedico a qualcosa di più concreto  ;D
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: Bing [Bot] e 2 ospiti