Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-08-2008, 10:06   #1
Sabonis
Registered User
 
Iscritto dal: Oct 2006
Messaggi: 82
[c++] Risorse online

Mi sapete consigliare delle risorse online affidabili (in italiano o in inglese) sul c++?
Di materiale online se ne trova tanto ma ho dubbi sulla qualità.

Già che ci sono vi faccio anche una domanda:

è corretto fare?

int * p = 0;
delete p;

Il delete non crea problemi quando gli si passa un puntantore che vale 0??
Sabonis è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2008, 12:16   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Non devi usare la delete sui puntatori, a meno che non puntino a zone di memoria allocate dinamicamente.

Per il materiale, leggiti "Thinking in C++" di Bruce Eckel, è di buona qualità, è gratuito, e dovresti anche trovarlo tradotto, se non ricordo male.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2008, 14:12   #3
Sabonis
Registered User
 
Iscritto dal: Oct 2006
Messaggi: 82
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
Non devi usare la delete sui puntatori, a meno che non puntino a zone di memoria allocate dinamicamente.

Per il materiale, leggiti "Thinking in C++" di Bruce Eckel, è di buona qualità, è gratuito, e dovresti anche trovarlo tradotto, se non ricordo male.
Scusa mi sono spiegato male. Non chiedevo se fosse possibile utilizzare il delete con puntatori che puntano a zone di memoria non allocate dinamicamente.
supponi che io abbia il mio:
myclass *p=0;
Supponiamo poi che io possa fare:
p = new myclass;

Quando vado a cancellare la memoria puntata da p, non so se ho allocato qualcosa oppure no.

Se faccio delete p; e ho allocato qualcosa, la memoria puntata da p viene liberata e va tutto bene, ma se faccio delete p; e p è 0 perchè non ho allocato nulla, che succede?
Sabonis è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2008, 14:25   #4
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Non ho mai provato di persona, ma suppongo che vada in crash. Può essere anche che se il puntatore è effettivamente NULL (un ((void*)0)) l'operatore delete eviti di provare a liberarne la memoria, ma non te lo posso garantire.
Se avessi un compilatore C++ sotto mano te lo direi con sicurezza assoluta: perché non provi effettivamente a lanciarlo e vedere cosa succede?
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2008, 14:45   #5
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
Quote:
Originariamente inviato da Sabonis Guarda i messaggi
Mi sapete consigliare delle risorse online affidabili (in italiano o in inglese) sul c++?
Cprogramming.com
Association of C and C++ Users
Quote:
Originariamente inviato da Sabonis Guarda i messaggi
è corretto fare?

int * p = 0;
delete p;
Immagino sia lecito. Tutt'al più, l'operatore delete dovrebbe riconoscere che 0 non è una locazione "utilizzabile", e regolarsi di conseguenza.

Però, leggi cosa dicono su TechInterviews:

--------

C'è qualcosa di sbagliato in questo codice?
Codice:
T *p = 0;
delete p;
Nota: Tipica risposta sbagliata: Sì, il programma andrà in crash nel tentativo di cancellare un puntatore nullo.
Il candidato non capisce i puntatori. Un candidato molto sveglio chiederà se delete viene sovraccaricato per la classe T.

--------
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Ray-Ban Meta Audio: arrivano gli occhial...
Apple TV 4K: chip A19, CPU più veloce de...
Il mercato console sprofonda: i rincari ...
Apple Home Collection: videocamere 2,5K,...
Apple presenta HomeView, il nuovo hub do...
Apple HomePod mini 2 arriva in Italia: a...
SFSCON 2026: la sovranità digital...
Cooler Master GPU Shield arriva in Europ...
Wolters Kluwer Tax & Accounting pote...
NVIDIA accelera il DLSS 5: il nuovo mode...
Character.ai in bancarotta, Disney pront...
realme passa a ColorOS 17 con Android 17...
OPPO presenta ColorOS 17: più flu...
Giochi PS2 su smartphone Android: ARMSX2...
Ecco il nuovo tool semplificato per alle...
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: 16:22.


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