Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-11-2007, 13:30   #1
Re Lothar
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;
}
Se vado a compilare non mi da nessun errore, mentre se lo faccio partire mi da :
Segmentation fault (core dumped)

Dove è che sbaglio?
__________________
http://vimeo.com/kappaz
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 13:43   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
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.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 13:44   #3
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da Re Lothar Guarda i messaggi
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;
}
Se vado a compilare non mi da nessun errore, mentre se lo faccio partire mi da :
Segmentation fault (core dumped)

Dove è che sbaglio?
Non hai inizializzato p0 .

"lista *p0 = new struct lista;"

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 14:32   #4
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
Quote:
Originariamente inviato da vizzz Guarda i messaggi
manca la new della tua struct!
e ricordati anche la delete finale.
mio dio che sbadato!! grazie è vero...

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
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 14:34   #5
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da Re Lothar Guarda i messaggi
mio dio che sbadato!! grazie è vero...

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?
si, generi dei memory leak.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 14:35   #6
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
Quote:
Originariamente inviato da vizzz Guarda i messaggi
si, generi dei memory leak.
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
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 14:41   #7
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da Re Lothar Guarda i messaggi
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?!?
nel tuo caso il memory leak all'uscita del programma dovrebbe essere gestito dal sistema operativo, che rende di nuovo disponibile l'area di memoria.
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.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 14:52   #8
Re Lothar
Senior Member
 
Iscritto dal: Jan 2006
Messaggi: 413
ok ho capito, grazie
__________________
http://vimeo.com/kappaz
Re Lothar è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2007, 15:00   #9
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Volevo dei chiarimenti riguardo l'inclusione di stringhe in liste dinamiche
Io userei i contenitori della STL senza re-inventare la ruota...
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Le 10 offerte TOP in Amazon del weekend:...
Dyson, doppio crollo su Amazon: purifica...
Il 70% delle imprese non vede effetti de...
HillMiles MileCity1 a 616€: la city e-bi...
GAC Aion UT, prima prova: tanta roba a 2...
vivo X300 Pro a 979€: il top di gamma co...
AGIBOT fa ballare 110 Expedition A3 per ...
iPad A16 da 11'' scende a 459€ in tutti ...
Mac mini M6 crolla a 899€ (-180€ rispett...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v