|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#41 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Questa discussione porta ad un'altra regola pratica: non scrivere mai operatori di conversione se non strettamente necessario, ma molto necessario. E dichiarare sempre i costruttori con un solo parametro explicit.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#42 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
fek mi fai un esempio in cui si ha questa conversione implicita ?
|
|
|
|
|
|
#43 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Un esempio puo' essere una classe String che ti permette la conversione automatica a char* con un operatore di conversione. Questa non e' una cosa buona perche' puo' portare a valanghe di problemi difficili da debuggare. Tanto e' vero che la classe std::string di STL non fornisce quest'operatore ma solo un metodo c_str(), di modo che sia il programmatore a richiedere esplicitamente una conversione a char*.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#44 | |
|
Senior Member
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
|
Quote:
tipo: class& class::operator++(); //post incremento class& class::operator++(int); //pre incremento o mi sono inventato tutto? |
|
|
|
|
|
|
#45 |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
E' vero, hai ragione, hanno firma diversa
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
#46 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
fek: con l'operatore overloadato...
|
|
|
|
|
|
#47 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#48 |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Vi saluto e vado a casa anch'io... Grazie per il bel thread. La settimana prossima ne preparo un altro un po' piu' ad alto livello.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
#49 |
|
Member
Iscritto dal: Apr 2000
Messaggi: 138
|
Il quesito mi e' piaciuto molto.
Avrei una proposta per i prossimi. Magari i moderatori non sono d'accordo, magari non piace, magari e' una caz... Proporrei un post per il quesito in cui seguono le proposte di soluzione. Un altro post con la soluzione ufficiale con a seguire tutti i commenti e le richieste di chiarimento. In questo modo chi ha poco tempo riesce a trovare subito quello che cerca (quesit-soluzione) senza impazzire. Stamattina il post era arrivato a 3 pagine... o mamma, dove sara' la soluzione (comunque l'ho trovata)? Che ne dite?
__________________
fgmac |
|
|
|
|
|
#50 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Mi sembra buona come idea...
Ma non dobbiamo aspettare solo i moderatori... Dove siete???
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
|
|
|
|
#51 |
|
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Comunque per rispondere ad alcune osservazioni, volevo chiedere:
Ma gli operatori applicati ai tipi semplici e non strutturati dal C++, per quello che ne so non vengono considerati come con classi o strutture. Questo perchè se ricordate il C++ è un'estensione del C. Ed eredita delle peculiarità del compilatore C. Credo che semplicemente i++ non voglia dire operator++() ma semplicemente i += 1. Quindi non riesco a convenire sui discorsi relativi al cast e sui discorsi relativi a sovrapposizioni di operatori con variabili di tipo int Mia personale opinione...
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
|
|
|
|
#52 |
|
Member
Iscritto dal: Apr 2000
Messaggi: 138
|
Non c'e' bisongo di aspettare i moderatori.
E non c'e' bisogno di mettere i post con i quesiti in rilievo. IMHO Basta stabilire uno standard tipo (che oltretutto facilita la ricerca) [QUESITO #num] titolo normale //per la domanda [QUESITO #num RISPOSTA] titolo normale //per la risposta I moderatori dovrebbero solo dirci se ci sono controindicazioni.
__________________
fgmac |
|
|
|
|
|
#53 | |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Quote:
|
|
|
|
|
|
|
#54 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Quando i quesiti saranno molti basterà fare un thread riepilogativo da emttere in rilievo... Ovviamente sono ben accetti anche quesiti di altri linguaggi... |
|
|
|
|
|
|
#55 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#56 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
nn si fa + nulla?
__________________
Gnu/Linux User
|
|
|
|
|
|
#57 | |
|
Senior Member
Iscritto dal: Nov 2003
Città: Napoli
Messaggi: 6193
|
Quote:
__________________
Diablo3 PF | MyPC(liquidato) - Case Corsair Obsidian 800D / PSU Enermax Galaxy 1000W / MB GA-EX58A-UD7 / CPU Intel I7 920 [email protected] / MEM Corsair Dom. GT@1680mhz / GPU R9 290X / HD 2xWD 150GB raid 0/ SO - Windows 7 Ult. |
|
|
|
|
|
|
#58 | |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Quote:
Si,hai ragione ma questo non è del tutto vero, poichè tutto dipende dal fatto che lo standard stl non garantisce che i caratteri vengano allocati contiguamente(a differenza dei vector).In realtà quasi tutte le migliori librerie lo fanno. Il problema con c_str() è che restituisce un puntatore a stringa costante il che costituisce un problema per esempio quando devi passare ad una funzione un char *. In realtà il trucco è che le migliori librerie(quasi tutte?) implementano il membro .data() che restituisce un char * esattamente così come per i vector il cui equivalente membro restituisce un puntatore al primo elemento di un vettore allocato contiguamente. Il trucco c'è (forse) e si vede nell'header della stl string |
|
|
|
|
|
|
#59 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Provate a fare questo:
scrivete esclusivamente in C un programma che visualizza il classico messaggio "Hello world". Caratteristiche: - non deve includere alcuna libreria (per questo c'è un trucco, magari il primo indizio) - deve essere portabile (su qualunque hardware) - deve essere composto dal solo main - non ci devono essere più di due chiamate alla stessa funzione - non deve far uso di cicli (niente parole chiave for, while...) - deve essere il + corto possibile Ultima modifica di cionci : 12-01-2004 alle 20:08. |
|
|
|
|
|
#60 |
|
Bannato
Iscritto dal: Feb 2003
Messaggi: 947
|
Ultima modifica di repne scasb : 03-02-2005 alle 17:29. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:04.



















