Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].
Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂
Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.
Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.
Instituce státní správy nebudou smět využívat produkty, aplikace, řešení, webové stránky a webové služby poskytované čínskou společností DeepSeek. Na doporučení Národního úřadu pro kybernetickou a informační bezpečnost rozhodla o jejich zákazu vláda Petra Fialy na jednání ve středu 9. července 2025.
class Hrac { private: QString * jmeno; QColor * barva; int * znak; int * body; public: Hrac(); Hrac(const Hrac &other); ~Hrac(); void nastavVlastnosti(QString jmeno, QColor barva, int znak, int body); int * zjistiZnak(); int * zjistiBody(); QColor * zjistiBarvu(); QString * zjistiJmeno(); TypHrace * zjistiTyp(); bool checkForVictory(); friend QDataStream &operator<<(QDataStream &out, Hrac &hrac); void serialize(QDataStream& ost); static Hrac unserialize(QDataStream& istr); };
Řešení dotazu:
serialize
a unserialize
, definice třídy se zdá v pořádku
QDataStream& operator <<(QDataStream &out, Hrac &hrac)
nemusí být friend, protože použije (měl by použít ) veřejnou metodu serialize
unserialize
by mělo vracet Hrac*, jinak se tam bude volat (zbytečně) copy konstruktor. Lepší by ale bylo vytvořit deserializační konstruktor explicit Hrac(QDataStream &str)
Btw. proč jsou tam ty dva int
y (znak
a body
) dynamicky alokované?
QDataStream &operator<<(QDataStream &out, Hrac &hrac) { return(out << hrac.jmeno->length()<< " " << hrac.jmeno->toAscii() << " " << hrac.barva << " " << hrac.znak << " " << hrac.body); } void Hrac::serialize(QDataStream &ost) { ost << this; } Hrac Hrac::unserialize(QDataStream &istr) { Hrac tmp; int delkajmena; QString jmeno; QColor barva; int znak; int body; istr >> delkajmena; //istr.readBytes() //? tmp.nastavVlastnosti(jmeno,barva,znak,body); return tmp; }Tu deserializaci udělám pomocí toho kontruktoru, takové řešení mě nenapadlo, díky. Dynamickou alokaci tam používám pro všechny objekty uvnitř tříd, neměl by v tom být žádný rozdíl ne? Kdyby vás zajímal ještě nějaký kus kódu, tak to celé mám na SVN pod http://code.google.com/p/pisqorky/source/browse/trunk#trunk/src .
Dynamickou alokaci tam používám pro všechny objekty uvnitř tříd, neměl by v tom být žádný rozdíl ne?I kdyby to byla pravda, tak proč se v takovym případě namáhat?
void Hrac::serialize(QDataStream &str) { str << *this->jmeno << *this->barva << *this->znak << *this->body; } void Hrac::unserialize(QDataStream &str) { str >> *this->jmeno >> *this->barva >> *this->znak >> *this->body; }resp. s konstruktorem:
Hrac::Hrac(QDataStream &str) : jmeno(new QString()) , barva (new QColor()) , znak (new int(0)) , body (new int(0)) { this->unserialize(str); }a pokud budou potřeba, tak přidat operátory
QDataStream& operator <<(QDataStream &str, Hrac &hrac) { hrac.serialize(str); return str; } QDataStream& operator >>(QDataStream &str, Hrac &hrac) { hrac.unserialize(str); return str; }
Tiskni
Sdílej: