Š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.
Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
Organizátoři konference LinuxDays zveřejnili program letošního ročníku a spustili registraci návštěvníků. LinuxDays 2026 se uskuteční 3. a 4. října v areálu ČVUT v pražských Dejvicích, na Fakultě informačních technologií. Těšit se můžete na 70 přednášek a workshopů od 66 přednášejících. Konference bude rozdělena do pěti sálů s různou kapacitou. Vstup na LinuxDays je jako obvykle zdarma, stačí včas vyplnit registrační formulář. Opět je možné si na akci zakoupit oběd, ale je třeba to udělat předem, na místě už to nebude možné.
Google Chrome 153 byl prohlášen za stabilní. Nejnovější stabilní verze 153.0.8010.36 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 230 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.
Apple dnes představil (YouTube) iPhone Duo, iPhone 18 Pro, Watch Series 12, Watch Ultra 4 a AirPods 5.
Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
/* Tohle je jako časově náročná funkce z knihovny */
void NapisStoTecek(void (* callback)(int)) {
int i;
for (i = 0; i < 100; i++) {
/* Jednou za deset teček zavolej parametr */
if (!(i % 10)) callback(i);
/* Vypisuj tečky */
putchar('.');
}
}
/* Funkce volaná z knihovny, ale definovaná v aplikačním kódu */
void parametr(int procent) {
printf("\nHotovo na %i%%\n", procent);
}
/* Hlavní program */
int main(void) {
NapisStoTecek(parametr);
return 0;
}
že fce jsou obalené ve tříděA jak konkrétně? Jestli je
parametr třídní funkce, tak pak má ve skutečnosti jako první parametr odkaz na this. Jestli si dobře pamatuji, tak v C++ jsou na tohle oblíbené šablony + funktory (třídy s operátorem ()).
Dodaný příklad funguje – jak vypadá ten, co se vzpouzí?
Příklad syntaxe obou variant (statická metoda a pointer na metodu):
#include <iostream>
class cls;
typedef void (*callback1)(char);
typedef void (cls::*callback2)(char);
class cls {
public:
cls() {}
static void cb1(char c) { std::cout << c; }
void cb2(char c) { std::cout << c; }
void use1(callback1 f) { (*f)('A'); }
void use2(callback2 f) { (this->*f)('B'); }
};
int main()
{
cls X;
X.use1(cls::cb1);
X.use2(&cls::cb2);
std::cout << std::endl;
return 0;
}
static.
int (Trieda::*callback)(int) a potom ju zavolat cez retval = this->*callback(int);.
#include <iostream>
/*Abstarct class as interface in the library */
class cosiPrintable {
public:
virtual void cosiDo(int procent) = 0; //or {};
};
/*Library functions*/
class libraryFunctions {
private:
libraryFunctions();
libraryFunctions(libraryFunctions &instance);
public:
static void NapisStoTecek(cosiPrintable *cosi)
{
int i;
for (i = 0; i < 100; i++) {
/* Jednou za deset teček zavolej parametr */
if (!(i % 10))
cosi->cosiDo(i);
/* Vypisuj tečky */
std::cout << ".";
std::cout.flush();
}
cosi->cosiDo(100);
}
};
//--------- END OF THE LIBRARY ----------------
/* My implementation */
class myPrint : public cosiPrintable{
public:
virtual void cosiDo(int procent) {
std::cout << std::endl << "Hotovo na " << procent << " %" << std::endl;
}
};
/* Hlavní program */
int main(void) {
myPrint myPrintInstance;
libraryFunctions::NapisStoTecek(&myPrintInstance);
return 0;
}
Tiskni
Sdílej: