Grafická aplikace Easy Effects (Flathub), původně PulseEffects, umožňující snadno povolovat a zakazovat různé audio efekty v aplikacích používajících multimediální server PipeWire, byla vydána ve verzi 8.0.0. Místo GTK 4 je nově postavená nad Qt, QML a Kirigami.
Na YouTube lze zhlédnout Godot Engine – 2025 Showreel s ukázkami toho nejlepšího letos vytvořeného v multiplatformním open source herním enginu Godot.
Blíží se konec roku a tím i všemožná vyhlášení slov roku 2025. Dle Collins English Dictionary je slovem roku vibe coding, dle Dictionary.com je to 6-7, …
Cloudflare Radar: podíl Linuxu na desktopu dosáhl v listopadu 6,2 %.
Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i
… více »Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.50.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.
Komunita kolem Linux Containers po roce vývoje představila (YouTube) neměnný operační systém IncusOS speciálně navržený pro běh Incusu, tj. komunitního forku nástroje pro správu kontejnerů LXD. IncusOS poskytuje atomické aktualizace prostřednictvím mechanismu A/B aktualizací s využitím samostatných oddílů a vynucuje zabezpečení bootování pomocí UEFI Secure Bootu a modulu TPM 2.0. Postaven je na Debianu 13.
Mozilla začne od ledna poskytovat komerční podporu Firefoxu pro firmy. Jedná se o podporu nad rámec stávající podpory, která je k dispozici pro všechny zdarma.
V Bolzanu probíhá konference SFSCON (South Tyrol Free Software Conference). Jean-Baptiste Kempf, zakladatel a prezident VideoLAN a klíčový vývojář VLC media playeru, byl na ní oceněn cenou European SFS Award 2025 udělovanou Free Software Foundation Europe (FSFE) a Linux User Group Bolzano‑Bozen (LUGBZ).
Open-source minimalistický trackball Ploopy Nano byl po modelech modelech Classic a Thumb Trackball také aktualizován. Nová verze Nano 2 používá optický senzor PAW3222 a k původně beztlačítkovému designu přidává jedno tlačítko, které ve výchozí konfiguraci firmwaru QMK přepíná režim posouvání koulí. Sestavený trackball nyní vyjde na 60 kanadských dolarů (bez dopravy a DPH).
/* 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: