|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#81 |
|
Junior Member
Iscritto dal: May 2008
Messaggi: 4
|
|
|
|
|
|
|
#82 | |||||
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Quote:
Quote:
![]() Quote:
Codice:
template <typename T>
class Matrix<T>
{ /* ... */
T& operator()(int row, int col) { /* ... */ }
};
/* ... */
Matrix m;
m(1,2) = 12;
Quote:
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|||||
|
|
|
|
|
#83 | |
|
Junior Member
Iscritto dal: May 2008
Messaggi: 4
|
Quote:
Detto questo il gdb e' un debugger estremamente potente e versatile. Dispone tra l'altro di frontend grafici (es. ddd) e di modalita` di debugging in remoto che vanno a braccetto con software di emulazione come QEMU (coppiata vincente per chi si accinge a fare del debugging a livello kernel o ad apprendere una nuova architettura hardware!) Ti do` ragione sul fatto dell'integrazione con l'IDE... ma mica tanta sulla disponibilita` di strumenti. |
|
|
|
|
|
|
#84 | |||
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Codice:
cout << "Total :" << x.val1+x.val2 << "\n"; Codice:
cout.write("Name:").write(x.val1+x.val2).write("\n");
Quote:
non a caso in un buon programma di C++ non ci sono molti puntatori che girano. Quote:
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|||
|
|
|
|
|
#85 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7260
|
è vero che le porcherie si possono fare in qualsiasi linguaggio, ma è anche vero che il C++ sembra studiato per ammettere il maggior numero di porcherie.
per questo motivo ho sempre notato che un team che lavora in C++ si concentra su un suo sottoinsieme e rispetta certe regole di programmazione definite a priori. nello sviluppo del kernel di linux hanno pensato di usare un "sottoinsieme" chiamato C e fino ad ora non si può dire che sia stata una pessima scelta. probabilmente in futuro lo sarà, ma bisogna anche contestualizzare nel tempo |
|
|
|
|
|
#86 | ||||
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Quote:
Inoltre quando il codice è "fresco", il debug passo passo aiuta a trovare immediatamente l'errore, invece che far eseguire il codice e cercare di indovinare cosa è andato storto. Quote:
Quello che comunque non riesce a mostrare il contenuto degli standard container del C++? Sai che bello avere un vector di stringhe e non riuscire a vedere cosa c'è dentro. Oppure una classe e non riuscire a visualizzare le sue variabili... Quote:
Inoltre avere tutto all'interno di un IDE è certamente più produttivo. Il debug è al momento lo stesso punto debole del C# sotto Linux. Sarà un caso? |
||||
|
|
|
|
|
#87 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
|
|
|
|
|
#88 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#89 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Neanche in C# funziona, figuriamoci in C++. |
|
|
|
|
|
|
#90 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Quel che intendevo dire e' che e' difficile inizializzare un riferimento con dei dati non validi, e devi passare per un puntatore oppure per un cast "alla C".
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele Ultima modifica di marco.r : 11-05-2008 alle 16:38. |
|
|
|
|
|
|
#91 | ||
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
![]() Quote:
|
||
|
|
|
|
|
#92 | ||
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Per il FPC c'è Lazarus, un'IDE che mima da vicino vari aspetti del Delphi. Non posso dirti però quanto sia completo, non lo provo da anni: col tempo ho perso interesse nei confronti del Pascal (e Object Pascal). Quote:
Per quanto riguarda il debugging di STL containers in GDB: http://staff.science.uva.nl/~gilad/stl/stl_gdb.html
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! Ultima modifica di DanieleC88 : 12-05-2008 alle 13:15. |
||
|
|
|
|
|
#93 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
__________________
|
|
|
|
|
|
|
#94 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Il debug tramite gdb è di una comodità impressionante. Ultima modifica di tomminno : 12-05-2008 alle 14:33. |
|
|
|
|
|
|
#95 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Ad esempio correzioni di errori di scrittura e ripetizione di comandi simili più volte (puoi ripetere l'ultimo comando con un punto se sei in modalità visuale), lo spostamento dall'inizio alla fine di un blocco, la ricerca dei prototipi delle funzioni o delle dichiarazioni di variabili con la pressione di un solo tasto, e anche il normale movimento fatto con hjkl è comodo se ti ci abitui, non devi nemmeno spostare le dita.
Et cetera... alla fine è questione di gusti, anche io preferisco un'IDE per le cose grosse (al momento uso Code::Blocks su Linux, Visual C++ Express su Windows), ma per cose rapide VIM non lo riesco ancora a sostituire. Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! Ultima modifica di DanieleC88 : 12-05-2008 alle 14:50. |
|
|
|
|
|
|
#96 | |||||||||||||||||||||||
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Tranne ilsensine. Quote:
FreePascal è un compilatore estremamente veloce, perché utilizza un recursive descent parser scritto nello stesso linguaggio, ma questo purtroppo è anche il suo tallone d'Achille, visto che è molto più difficile aggiungere caratteristiche al compilatore rispetto a compiler-compiler quali Lex & Yacc, ma soprattutto ad ANTLR (alla PyCon2, da cui sono reduce, ho comprato la favolosa "guida definitiva" scritta dall'autore stesso; assolutamente imperdibile). Purtroppo, come dici tu, spesso i compilatori legati a GNU sono dei front-end del GCC. Più precisamente, gli altri linguaggi (oltre al C) sono realizzati con Flex & Bison, ma utilizzano "pervasivamente" il C, tanto che vengono spesso estesi in "stile C". Per fare un esempio, GNU Pascal è praticamente un C mascherato da Pascal. E pensare che, quando nacque, il C venne deriso e apostrofato come "Pascal mascherato", visto che come linguaggio non ha portato nulla di innovativo in questa branca dell'informatica che non avessero già fatto i suoi predecessori... Quote:
Quote:
Quote:
Se la comunità che sviluppa Linux ha di questi problemi, vuol dire che ha serii problemi di gestione, e deve rivedere le proprie strategie. In primis cacciare gli incapaci. Quote:
![]() Come si suol dire dalle mie parti: "'u pisci feti 'ra testa" (il pesce puzza dalla testa). Quote:
Quote:
Questo vuol dire che se scrivi una struct e una classe definendo al loro interno le STESSE cose, differiranno AL PIU' per la visibilità di alcune definizioni. Ergo: una classe che definisce le stesse cose che in C definisce una struct, occupa la stessa memoria e genera (sulla carta) esattamente lo stesso codice per accedere alle variabili che in essa sono state definite. Quote:
Se lo stesso programma C compilato con un compilatore C++ dà risultati più scarsi, la colpa è inequivocabilmente del compilatore, ma NON del linguaggio. Quote:
Quote:
Questo vuol dire che in C++ userei gli oggetti SE E SOLO SE ritenessi opportuno farlo, e ne farei a meno quando non avrebbe senso o non sarebbe conveniente. Quote:
Il tutto IMHO, eh!Comunque anche joe è qualcosa di più di un editor: dai un'occhiata all'utilissimo help online (Ctrl-K-H), e documentati sull'uso del file di configurazione (.joerc se non erro). Vedrai che non ha nulla da invidiare a editor più blasonati (a parte emacs, ma quello non è un editor, ma un calderone panteista ). Quote:
Per il resto concordo col buon Marco. Quote:
).Quote:
Comunque sentire ieri alla PyCon2 "ma tanto ai programmatori open source non servono gli IDE, perché usano gli editor" mi ha fatto raggelare il sangue e ricordare i tempi bui della programmazione... ![]() Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
__________________
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 |
|||||||||||||||||||||||
|
|
|
|
|
#97 | ||
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Per cui non è vero che con il GC non devi pensare alla deallocazione delle risorse (che non significa solo deallocare memoria, ma pure chiudere connessioni al db/rete, chiudere un file...), anzi hai pure delle rogne per tutte le possibili eccezioni che possono generarsi. Il vantaggio dei linguaggi managed è l'enorme libreria, non la gestione della memoria, perchè devi lottare comunque con il rilascio delle risorse. Quote:
le strutture C++ hanno costruttore e distruttore esattamente come le classi (e anche l'uso di this), le strutture C no. La differenza di codice dovrebbe (ripeto dovrebbe) essere nulla tra una struct C++ e una classe C++ con stessi metodi e stessa visibilità. |
||
|
|
|
|
|
#98 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Codice:
File.open("myfile") do |file|
file.each_byte {....}
end
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#99 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
in alcune situazioni ho visto usare addirittura l'ereditarietà con le struct; mi pare che in MFC la classe CPoint derivi dalla struct POINT. |
|
|
|
|
|
|
#100 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
__________________
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:00.











-> 











