Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
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


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Samsung Galaxy A57 e A37 costano di più ...
Windows 11 26H2 taglia il consumo di RAM...
KINGPIN è tornato! Il re dell'ove...
CPU usata, ban ereditato: il caso del Ry...
Spunta un engineering sample di Ryzen 9 ...
iPhone 18 Pro, alcuni utenti segnalano s...
Android Auto: Gemini ascolta la domanda ...
OpenAI avvisa oltre 100 organizzazioni p...
Dall'AI alla SI: il rebranding di Trump ...
0patch offrirà supporto esteso pe...
Sudo sembra un iPod, ma nasconde una car...
Meta, OpenAI e Google rifanno OpenClaw: ...
Pixel 10a: Google alza il prezzo di 100 ...
5 sconti TOP e una super city e-bike per...
Speciale Sonoff per utenti Prime: 4 valv...
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: 17:08.


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