Na YouTube byly publikovány videozáznamy přednášek a na Flickru fotografie z konference EuroPython 2026.
Byl vydán Debian 13.7, tj. sedmá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Jiří Eischmann se v příspěvku Fiasko jménem W Social na svém blogu věnuje evropské sociální síti W: "W Social je příkladem toho, že se problémy sociální sítí nedají řešit od exekutivního stolu. Když na začátku tohoto roku v Davosu oznámili vznik nové sociální sítě W Social, politici se mohli přetrhnout ve chvalozpěvech. Konečně evropská sociální síť a ještě s ověřením identity. … Jak se ukázalo, když v Davosu W Social oznamovali, neměli kromě
… více »Výrobce hardwarových kryptoměnových peněženek Trezor upozorňuje na bezpečnostní incident u společnosti Brevo, kterou využívá k odesílání newsletterů. Útočník na e-mailové adresy odeslal phishingový e-mail.
Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za srpen 2026. Aplikace XApp mají vlastní webovou stránku xapp-project.org. Představena byl čtečka EPUB s názvem Xepub a kalendář Clockenstein.
Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.
Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.
V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.
Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.
struct A{
virtual int compute(int foo){ /* výpočet A */ }
};
struct B: public A{
virtual int compute(int foo){ /* výpočet B */ }
};
vector<objekt*> objekty; // naplnit pole etc.
for(int i=0; i<100000; i++){
// tady se pro každý objekt v každém kroku resolvuje virtuální funkce, přitom výsledek pro kažedý objekt vždy stejný
BOOST_FOREACH(const objekt*, objekty){ sum+=objekt->compute(bar); }
}
kde je nějaká množina objektů, na kterých se compute mnohokrát opakovaně volá.
Nový scénář:
struct A{
typedef boost::function<int(int)> computePtrT;
computePtrT compuptePtr;
int computeA(int foo){ /* výpočet A */ } // neni virtualni!
virtual computePtrT getComputePtr(){ return boost::bind(&A::computeA,this,_1); }
};
struct B: public A{
int computeB(int foo){ /* výpočet B */ } // neni virtualni
virtual computePtrT getComputePtr(){ return boost::bind(&B::computeB,this,_1); }
};
for(int i=0; i<100000; i++){
BOOST_FOREACH(const objekt*, objekty){
// při prvním cyklu se voláním virtuální funkce nastaví pointer na nevirtuální funkci (computeA nebo computeB)
if(!objekt->computePtr) objekt->computePtr=objekt->getComputePtr();
sum+=objekt->computePtr(bar);
}
}
Díky za komentáře.
Řešení dotazu:
boost::function při volání používá virtuální funkci.
boost::function při volání používá virtuální funkci.
Tiskni
Sdílej: