Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-08-2011, 16:47   #1
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
[C++]Guida C++

Salve forum,

Volevo chiedervi se conoscete una guida COMPLETA MA CONCISA di C++ da trovare online che mi permetta in poco tempo di conoscere bene questo linguaggio, permettendomi di programmare senza difficoltà.
GRAZIE
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 17:01   #2
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Comincia da qui http://www.cplusplus.com/doc/tutorial/
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 17:04   #3
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
Quote:
Originariamente inviato da clockover Guarda i messaggi
ehm...niente in italiano?
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 17:18   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
"guida completa e concisa", "C++", "in poco tempo" e "senza difficoltà" non dovrebbe essere messe in una stessa frase
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 17:34   #5
british
Member
 
L'Avatar di british
 
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
Quote:
Originariamente inviato da InformaticoRC Guarda i messaggi
Salve forum,

Volevo chiedervi se conoscete una guida COMPLETA MA CONCISA di C++ da trovare online che mi permetta in poco tempo di conoscere bene questo linguaggio, permettendomi di programmare senza difficoltà.
GRAZIE
non si può. comprati un (buon) libro (o più di uno) e preparati a sudare.

ciao!
british è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 18:10   #6
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
io ho un libro che introduce al C++ e fa accenni di UML e sono 800 pagine solo per parlare un po' di sintassi e strutture, pagina più pagina meno, ci sono libri solo sui puntatori da 300-400 pagine, tieni presente che vuoi approcciare uno dei linguaggi più ostici in circolazione.

se vuoi massimizzare l'uso del tempo a tua disposizione leggiti qualcosa su un linguaggio ad alto livello come Java, Python o Ruby che sono più approcciabili del C++, se vuoi imparare il C++, dedicagli tanto tempo.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 20:45   #7
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Quote:
Originariamente inviato da ndakota Guarda i messaggi
"guida completa e concisa", "C++", "in poco tempo" e "senza difficoltà" non dovrebbe essere messe in una stessa frase
Per non dire "in italiano"
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 20:55   #8
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Poveretto gli avete completamente smontato tutti i sogni
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 01-08-2011, 22:06   #9
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Purtroppo è così, non si è mai sentito di una guida al C++ che fosse semplice, corta, tipo tutorial ed inoltre in italiano.

Mi sa che devi procurarti il libro di Stroustrup o quello di Eckel. Il primo è meno pesante e più schematico.
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2011, 06:55   #10
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Con lo Stroustrup come minimo lo vediamo volare dalla finestra in preda alla disperazione.

Ha tutto, viene considerata la bibbia, ma è anche un mattone. Roba da programmatori navigati, insomma.

Eckel è già molto più potabile.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 02-08-2011, 08:44   #11
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Con lo Stroustrup come minimo lo vediamo volare dalla finestra in preda alla disperazione.

Ha tutto, viene considerata la bibbia, ma è anche un mattone. Roba da programmatori navigati, insomma.

Eckel è già molto più potabile.
Quoto e, beh, anche il C++ è roba da programmatori navigati, a ben guardare
Se però a InformaticoRC serve *esattamente* quello, non si scappa.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2011, 15:35   #12
InformaticoRC
Member
 
Iscritto dal: Apr 2010
Messaggi: 50
Come libro ho già quello di Deitel&Deitel "C++, Fondamenti di programmazione", però cercavo qualcosa di più immediato appunto, come guide e tutorial in modo da acquisire più velocemente una buona conoscenza.
InformaticoRC è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2011, 15:53   #13
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
Quote:
Originariamente inviato da InformaticoRC Guarda i messaggi
Come libro ho già quello di Deitel&Deitel "C++, Fondamenti di programmazione", però cercavo qualcosa di più immediato appunto, come guide e tutorial in modo da acquisire più velocemente una buona conoscenza.
ad iniziare adesso non finiresti tra 10 anni con il C++, non esiste un approccio veloce al C++, questo devi capire, inoltre il C++ ha features più uniche che rare nel mondo odierno dei linguaggi come i puntatori e l'eredità multipla, questi 2 argomenti presi da soli ti possono tenere impegnato per anni a studiarli.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2011, 20:12   #14
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
ad iniziare adesso non finiresti tra 10 anni con il C++, non esiste un approccio veloce al C++, questo devi capire, inoltre il C++ ha features più uniche che rare nel mondo odierno dei linguaggi come i puntatori e l'eredità multipla, questi 2 argomenti presi da soli ti possono tenere impegnato per anni a studiarli.
E oddio l'ereditarietà multipla "anni" mi sembra proprio eccessivo
E alla fine qualsiasi persona sana di mente usa implicitamente un modello a ereditarietà singola + interfacce, con il vantaggio che le interfacce possono anche contenere qualche metodo con un comportamento di default.
Purtroppo l'ereditarietà multipla di C++ è rotta (come tante altre cose), e lo standard lascia spazio ad un mucchio di comportamenti undefined in parecchi casi tipo diamond inheritance, ambiguous casting, uso coi template, e tante altre simpatiche perdite di tempo infinite

I puntatori sono un'altra bestia - il prossimo che li chiama "i puntatori" gli stacco le mani
E' più corretto dire che C/C++ offrono un "accesso di basso livello alla memoria" e quindi ti permettono di gestire l'aritmetica degli indirizzi, la posizione in memoria degli oggetti, se mettere qualcosa sullo stack o sull'heap, etc.
"I puntatori" sono semplicemente uno dei mezzi con il quale si manipola la memoria in C++... e sono assolutamente banali nel momento in cui sai che cosa stai facendo.

Ovviamente questo non vuol dire che il C++ sia banale, perchè gestire a mano la memoria è tipo la causa del 99% dei bug per i principianti

PS: con i puntatori, ASSERT() è tuo amico.
__________________
*ToMmO*

devlog | twitter

Ultima modifica di Tommo : 03-08-2011 alle 20:14.
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2011, 20:52   #15
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
Quote:
Originariamente inviato da Tommo Guarda i messaggi
E oddio l'ereditarietà multipla "anni" mi sembra proprio eccessivo
E alla fine qualsiasi persona sana di mente usa implicitamente un modello a ereditarietà singola + interfacce, con il vantaggio che le interfacce possono anche contenere qualche metodo con un comportamento di default.
Purtroppo l'ereditarietà multipla di C++ è rotta (come tante altre cose), e lo standard lascia spazio ad un mucchio di comportamenti undefined in parecchi casi tipo diamond inheritance, ambiguous casting, uso coi template, e tante altre simpatiche perdite di tempo infinite

I puntatori sono un'altra bestia - il prossimo che li chiama "i puntatori" gli stacco le mani
E' più corretto dire che C/C++ offrono un "accesso di basso livello alla memoria" e quindi ti permettono di gestire l'aritmetica degli indirizzi, la posizione in memoria degli oggetti, se mettere qualcosa sullo stack o sull'heap, etc.
"I puntatori" sono semplicemente uno dei mezzi con il quale si manipola la memoria in C++... e sono assolutamente banali nel momento in cui sai che cosa stai facendo.

Ovviamente questo non vuol dire che il C++ sia banale, perchè gestire a mano la memoria è tipo la causa del 99% dei bug per i principianti

PS: con i puntatori, ASSERT() è tuo amico.
Mi complimento con te ma non credo che la media sia questa, basti pensare ad uno dei perché della nascita di un certo Java, nato anche per ovviare a problemi ed errori di programmazione sulla gestione della memoria.

Si potrebbe poi parlare dei vari compilatori che ci mettono comunque il loro zampino dato che trattano il linguaggio, e lo standard del linguaggio non specifica proprio tutto al 100%, e quello che non è specificato ogni compilatore lo implementa come meglio crede.

Se fosse realmente così facile la gestione della memoria non ci sarebbero tanti errori in programmazione e tanti libri sull'argomento.
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 03-08-2011, 22:26   #16
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12919
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
Mi complimento con te ma non credo che la media sia questa, basti pensare ad uno dei perché della nascita di un certo Java, nato anche per ovviare a problemi ed errori di programmazione sulla gestione della memoria.

Si potrebbe poi parlare dei vari compilatori che ci mettono comunque il loro zampino dato che trattano il linguaggio, e lo standard del linguaggio non specifica proprio tutto al 100%, e quello che non è specificato ogni compilatore lo implementa come meglio crede.

Se fosse realmente così facile la gestione della memoria non ci sarebbero tanti errori in programmazione e tanti libri sull'argomento.
Diciamo che la gestione della memoria tipicamente a tutto serve tranne che a risolvere il problema che stai cercando di risolvere.

Gestire la memoria è qualcosa di vicino alla macchina, mentre tu vorresti degli strumenti che fossero più vicini al tuo modo di ragionare.

Per questo motivo sono stati introdotti linguaggi e implementazioni di linguaggi che consentissero di liberarsi dalla gestione della memoria.

In alcuni contesti ovviamente non se ne può fare a meno, ma nella maggior parte dei casi gestire la memoria (ed eventuali bug che possono derivarne) è solo una tremenda perdita di tempo per il programmatore.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2011, 00:50   #17
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Quote:
Originariamente inviato da Freaxxx Guarda i messaggi
Se fosse realmente così facile la gestione della memoria non ci sarebbero tanti errori in programmazione e tanti libri sull'argomento.
Guarda che il mio rant era a proposito dell'uso della frase "imparare i puntatori" al posto di "imparare la struttura della memoria"...
non ho affatto detto che è facile, anzi, imparare "i puntatori" a memoria è pure più facile che capire veramente la macchina e che cosa stai facendo.

E' anche vero che se provi a andare pointer-heavy in C++ e non sai nemmeno cos'è l'heap, la cosa finirà malissimo
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2011, 02:24   #18
Freaxxx
Senior Member
 
L'Avatar di Freaxxx
 
Iscritto dal: Dec 2006
Messaggi: 3808
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Diciamo che la gestione della memoria tipicamente a tutto serve tranne che a risolvere il problema che stai cercando di risolvere.

Gestire la memoria è qualcosa di vicino alla macchina, mentre tu vorresti degli strumenti che fossero più vicini al tuo modo di ragionare.

Per questo motivo sono stati introdotti linguaggi e implementazioni di linguaggi che consentissero di liberarsi dalla gestione della memoria.

In alcuni contesti ovviamente non se ne può fare a meno, ma nella maggior parte dei casi gestire la memoria (ed eventuali bug che possono derivarne) è solo una tremenda perdita di tempo per il programmatore.
si, però non consideri le caratteristiche intrinseche al linguaggio così, o meglio, se una persona non vuole curare un suo "garbage collector" et similia, magari usa un altro linguaggio, magari qualcosa come C# e Java.

Quote:
Originariamente inviato da Tommo Guarda i messaggi
Guarda che il mio rant era a proposito dell'uso della frase "imparare i puntatori" al posto di "imparare la struttura della memoria"...
non ho affatto detto che è facile, anzi, imparare "i puntatori" a memoria è pure più facile che capire veramente la macchina e che cosa stai facendo.

E' anche vero che se provi a andare pointer-heavy in C++ e non sai nemmeno cos'è l'heap, la cosa finirà malissimo
in tutti i testi che ho preso in mano fino ad ora, in tutti gli articoli online letti, i puntatori si chiamano puntatori, con questo non dico che certamente la nomenclatura è corretta, ma lo standard de facto è questo.

ovvio che stack, heap e meccanismi basta su valori referenziati sono alla base della base di ogni discorso del genere
Freaxxx è offline   Rispondi citando il messaggio o parte di esso
Old 04-08-2011, 10:06   #19
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12919
Quello che intendeva dire Tommo è che i puntatori sono uno strumento per accedere alla memoria.

Il loro utilizzo è di fatto "semplice" se si conosce perfettamente la struttura della memoria.

Buona parte degli errori è dovuto spesso al fatto di non conoscere la struttura della memoria.

Ad esempio stiamo lavorando su un simulatore in C, avevamo una funzione che prende in ingresso un puntatore e lo modifica a seconda dei casi.

La funzione era stata scritta così:

Codice:
void func( int* ptr )
{
    switch( something )
    {
        case A:
            ptr = x;
            break;
        case B:
            ptr  = y;
            break;
    }
}
Ovviamente questa funzione è sbagliata, perché non cambia il valore del puntatore esterno, ma lo cambia solo localmente alla funzione.

Quindi alla fine avevi che ptr era sempre un puntatore sballato.

Questo è un caso eclatante, ma spesso è difficile beccare errori nella gestione della memoria.

Comunque lavorando per un po' di mesi su questo progetto ho potuto verificare che la maggior parte degli errori si verifica o per via di strutture non inizializzate (avevamo una struttura allocata con malloc che a volte risultava inizializzata altre volte no), o per via di mancati controlli sui puntatori.

Insomma cose che dovrebbero rientrare nelle "best practices".
WarDuck è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Roborock in offerta su Amazon: QV 35A e ...
Crisi della RAM: Intel rassicura sul mer...
Dreame taglia i prezzi su Amazon: L40 Ul...
ChatGPT, arrivano gli annunci pubblicita...
iPhone Air a un nuovo minimo storico su ...
Datacenter e materie prime: Amazon acqui...
StackWarp: una nuova vulnerabilità...
Il telescopio spaziale James Webb ha cat...
Il razzo spaziale europeo Ariane 6 lance...
Il lander lunare Blue Origin Blue Moon M...
Gli LLM riescono a risolvere problemi ma...
Smettila con quei cioccolatini. Per San ...
Il secondo lancio del razzo spaziale eur...
MaiaSpace ed Eutelsat stringono un accor...
Motorola edge 60 neo sorprende: compatto...
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: 10:20.


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