|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 413
|
[c++]Liste dinamiche di stringhe
Volevo dei chiarimenti riguardo l'inclusione di stringhe in liste dinamiche, vi faccio vedere come ho fatto io:
Codice:
#include <iostream>
#include <string>
using namespace std;
struct lista {
string nome;
lista *next;
};
int main() {
lista *p0;
p0->nome = "prova";
p0->next = NULL;
cout<<p0->nome;
}
Segmentation fault (core dumped) Dove è che sbaglio?
__________________
http://vimeo.com/kappaz |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
manca la new della tua struct!
e ricordati anche la delete finale.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Quote:
"lista *p0 = new struct lista;" Ciao
__________________
GPU Compiler Engineer |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 413
|
Quote:
comunque per un programma di prova come questo, dove l'unico obiettivo è stampare quel valore, serve ugualmente usare delete alla fine? è vero che se non lo faccio la memoria rimane allocata anche quando lo chiudo?
__________________
http://vimeo.com/kappaz |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
si, generi dei memory leak.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 413
|
caspita, questa cosa è micidiale, quindi in un ipotetico caso che io apra e chiuda tante volte il programma, alla fine riempio tutta la memoria??
e se la volessi liberare una volta chiuso sto programma c'è un modo o devo per forza riavviare?!?
__________________
http://vimeo.com/kappaz |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
la cosa è ben diversa se il tuo programma resta in esecuzione e continua a mangiare memoria senza deallocarla, allora si potrebbe arrivare anche a schiantare una macchina in altri linguaggi questo non è possibile perchè l'allocazione è gestita da un garbage collector.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jan 2006
Messaggi: 413
|
ok ho capito, grazie
__________________
http://vimeo.com/kappaz |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:03.











ho concluso con: kvegeta, doctordb, Leland Gaunt.









