Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-12-2008, 10:08   #1
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
[C++] Copy constructor ?

Ho una classe LLMessage che è un gestore di messaggi e i messaggi sono contenuti in una std::list.

Codice:
class LLMessage
{
   public:
      LLMessage() { Rewind(); } 

      bool GetNext  (LLMsgVals& vals)
      { 
         while ( m_ListIter != m_MsgVals.end() )
         {
            if ( (*m_ListIter).Delay == 0 || ((*m_ListIter).Delay > 0 && (*m_ListIter).ExpireTime <= time(NULL)) )
            {
               vals = *m_ListIter;
               m_ListIter = m_MsgVals.erase(m_ListIter);
               return true;
            }
            ++m_ListIter;
         }
         m_ListIter = m_MsgVals.begin();
         return false;
      }
...
	private:
		list <LLMsgVals> m_MsgVals;
}
LLMsgVals è una struttura.
GetNext è una funzione che estrae un messaggio dalla lista, quindi lo elimina.

Adesso ho un problema: siccome devo usare questa lista anche da un altro processo (un autotester), prima di usarla la passo alla classe AutoTester come riferimento
Codice:
AutoTesterSpace::AT_RESULT AT_Res = m_AutoTest->Process( msgIn, m_msgTrolley, matrix, time(NULL) );
che, come prima cosa, ne fa una copia per non rovinare l'originale.

Codice:
AT_RESULT AutoTester::Process(LLCMessage& InMsg, LLMessage& OutMsg, ConnectionMatrix_t& matrix, int TransactionID)
{
   m_OutMsg = OutMsg; // create a copy as the passed msg CANNOT BE CHANGED !!!
   ...
}
Beh, quando esco dalla funzione Process della classe AutoTester, la lista originale è vuota!

Ho provato ad aggiungere un copy constructor:
Codice:
   LLMessage(const LLMessage& msg) : m_MsgVals(msg.m_MsgVals) { Rewind(); }
ma nada ...

Non so se ho spiegato bene ... qualcuno mi sa aiutare ?

Grazie.
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 10:17   #2
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Cosa li apro a fare i 3d se poi risolvo da solo ?

Ho trovato il baco:
Codice:
AT_RESULT AutoTester::Process(LLCMessage& InMsg, LLMessage& OutMsg, ConnectionMatrix_t& matrix, int TransactionID)
{
   m_OutMsg = OutMsg; // create a copy as the passed msg CANNOT BE CHANGED !!!

...
   HandleMessageOut( OutMsg, SqlMatrixId, TransactionID );
...
}
In pratica faccio una copia ma poi uso l'originale

Vabbè, grazie lo stesso, come non detto
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 10:23   #3
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Se mettevi const al parametro te ne accorgevi
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-12-2008, 10:40   #4
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da cionci Guarda i messaggi
Se mettevi const al parametro te ne accorgevi
in effetti

Ma tanto cambio il sistema, l'AutoTester non deve essere costretto a fare una copia perchè non deve sapere che non può toccare l'originale.
Ci deve pensare chi usa l'AutoTester.

Però hai ragione, non uso spesso i const
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Apple riduce la produzione di iPhone 17:...
Lancio del razzo spaziale cinese Lunga M...
SpaceX Starship: Super Heavy Booster 20 ...
Questa RTX 3070 è tornata in vita...
Un ricercatore scopre uno script bash na...
Robot umanoidi teleoperati eseguono le p...
QuadRF, il gadget da 499 dollari che leg...
ChatGPT, Claude e Gemini nel mirino: cos...
Pneumatici dalla Cina, l'UE introduce da...
SpaceX vuole 100.000 satelliti in orbita...
Disney+ gratis, ma con pubblicità: l'ult...
Microsoft ammette: emissioni di CO2 su d...
Apple denuncia OpenAI e due ex dirigenti...
Asha Sharma licenzia migliaia di dipende...
25 articolazioni, pelle tattile e forza ...
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: 06:31.


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