|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | ||
|
Member
Iscritto dal: May 2007
Messaggi: 292
|
[C++] Ridefinizione degli Operatori e passaggio Parametri per Riferimento
Allora, voglio creare una mia classe vector. Che abbia tutti gli operatori (input/output, relazionali, aritmetici ecc...) ridefiniti.
Sono solo all'inizio della stesura del mio codice e già mi imbatto in un problema. Allora, consideriamo questa righe (noto con piacere che nei quote perdo tutto la formattazione. Mi dispiace, spero che il codice sia leggibile lo stesso): Quote:
Il punto è, mettiamo che io voglia aumentare un pò le prestazioni del codice. Una cosa che si potrebbe fare è passare i parametri per riferimento (cioè sostituendo i vari const gvector < T > con const gvector < T > & così da risparmiare il tempo della copia. Si, lo so che il mio codice attualmente è scritto con il c**o ed è così indecente che di migliorie ce ne sono miliardi prima di pensare a queste cose del passaggio per valore o per riferimento. Ma al momento voglio risolvere questo problema. Successivamente mi occuperò di altre cose. Il punto è che, correggetemi se sbaglio, aggiungere delle & qua e là nei parametri delle funzioni non dovrebbe cambiare niente (giacchè è tutto const), mentre invece se provo a fare questa modifica il codice non mi funziona più. In particolare succede questo: se faccio Quote:
Perchè succede? Avete idee? C'è qualcosa che sbaglio? Ultima modifica di Zero-Giulio : 15-05-2010 alle 23:23. |
||
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Usa [ code ], non [ quote ].
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: May 2007
Messaggi: 292
|
Risolto.
Il problema era nel main (che non ho allegato al post di sopra). Praticamente, usavo l'operatore di assegnamento tra due miei gvector senza prima averlo ridefinito. Questo causava un errore, perchè i ptr andavano a puntare alla stesso punto e poi quando ne free-avo uno (nel resize) perdevo anche laltro ecc... Insomma, avete sicuramente capito. Cmq, ridefinendo anche l'assegnamento tutto funziona. Ora mi metto al lavoro per inserire altro. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:54.



















