Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.
Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.
Byla vydána aktualizována Příručka pro začínající wikipedisty a wikipedistky (pdf).
Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.
Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.
Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.
Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a
… více »Jelikož vývojáři editorů Vim a Neovim začali při vývoji využívat LLM, Drew DeVault se rozhodl forknout Vim a vytvořil projekt Vim Classic. Vychází z Vimu 8.2.0148, tj. těsně před zavedením Vim9 skriptování.
Byla vydána nová verze 0.56 open source počítačové hry Unvanquished (Wikipedie), forku počítačové hry Tremulous. Instalovat ji lze také z Flathubu.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, byl vydán ve verzi 1.1 (YouTube). Po roce a čtyřech měsících od předchozí verze 1.0. Přehled novinek i s náhledy v poznámkách k vydání.
class test_class_text
{
private:
std::string _switch_pin;
public:
test_class_text(const std::string& switch_pin) :
_switch_pin(switch_pin)
{
}
};
auto obj = test_class_text({ .switch_pin = "Lorem ipsum..." });
a tento už nie?
class test_class_int
{
private:
int _switch_pin;
public:
test_class_int(const int& switch_pin) :
_switch_pin(switch_pin)
{
}
};
auto obj = test_class_int({ .switch_pin = 5 });
je už neskoro večer možno som unaveny a niečo som priehliadol, ale fakt nechapem prečo to so stringom funguje a s intom už nie?
Tiskni
Sdílej:
si nedal celej příklad takže nevíme co tam čaruješ, předpokladam že to máš asi jako takle nějak:
#include <string>
class test_class_text
{
private:
std::string _switch_pin;
public:
test_class_text(const std::string& switch_pin) :
_switch_pin(switch_pin)
{
}
};
class test_class_int
{
private:
int _switch_pin;
public:
test_class_int(const int& switch_pin) :
_switch_pin(switch_pin)
{
}
};
int main()
{
auto obj = test_class_int({ .switch_pin = 5 });
auto obj2 = test_class_text({ .switch_pin = "Lorem ipsum..." });
return 0;
}
noa se mi jako zdá že tam neni problém s tou třídou co dělá s intem ale s tou co dělá se stringem, páč v konstruktoru 'test_class_text' vidim že chce referenci/vodkaz na string zatimco ty tam zkoušíš narvat const char * "Lorem ipsum" :D ;D
když si to jakoby zkusíme zkompilovat uděláním 'g++ -std=c++20 main.cpp' tak nám to asi jako zanadává
main.cpp: In function ‘int main()’:
main.cpp:30:64: error: call of overloaded ‘test_class_text(<brace-enclosed initializer list>)’ is ambiguous
30 | auto obj2 = test_class_text({ .switch_pin = "Lorem ipsum..." });
| ^
main.cpp:7:5: note: candidate: ‘test_class_text::test_class_text(const string&)’
7 | test_class_text(const std::string& switch_pin) :
| ^~~~~~~~~~~~~~~
main.cpp:2:7: note: candidate: ‘test_class_text::test_class_text(const test_class_text&)’
2 | class test_class_text
| ^~~~~~~~~~~~~~~
main.cpp:2:7: note: candidate: ‘test_class_text::test_class_text(test_class_text&&)’
..a zanadávalo :D :D Vyřešit to mužem třeba tim že dotoho budem strkat dočasnej voběkt std::string
auto obj2 = test_class_text({ .switch_pin = std::string("Lorem ipsum...") });
takle to funguje ale netvrdim že to je nejvíc nejlepší řešení ňáký :D ;D pokud by v konstruktoru třidy 'test_class_text' nebyla ta reference tak by si to samo zavolalo konstruktor std::stringu ale takle tomu asi jako musime pomoct a vysvětlit cože po tom jakože chcem :O ;D
btw si pleteš blog s poradnou a eště si to tady zaspamoval :O :D :D ;D
test_class_int(const int switch_pin) : _switch_pin(switch_pin) {} ?
u čiselnejch proměnejch ten benefit předáváním referencí taky nebude ňák moc velkej, spiš zanedbatelnej :D ;D
btw von to pak v tom konstruktoru stejně předává hodnotou (páč ty třídy si v proměný '_switch_pin' nedržej referenci ale sou to už normální proměný) nóó takže stačí by nám ta reference co se dotoho jakoby strká vydržela žít jenom po dobu volaní konstruktoru :O ;D
nj akorátže až nato že mě se ten jeho kod (mirně dopras.. upravenej ale to dělaní s intem je jakoby uplně netknutý) podařilo zkompilovat a pustit :O :D
#include <string>
#include <iostream>
class test_class_text
{
public:
std::string _switch_pin;
public:
test_class_text(const std::string& switch_pin) :
_switch_pin(switch_pin)
{
}
};
class test_class_int
{
public:
int _switch_pin;
public:
test_class_int(const int& switch_pin) :
_switch_pin(switch_pin)
{
}
};
int main()
{
auto obj = test_class_int({ .switch_pin = 5 });
auto obj2 = test_class_text({ .switch_pin = std::string("Lorem ipsum...") });
std::cout<<"co ma prvni vobekt: "<<obj._switch_pin<<std::endl;
std::cout<<"co ma druhej vobekt: "<<obj2._switch_pin<<std::endl;
return 0;
}
co ma prvni vobekt: 5 co ma druhej vobekt: Lorem ipsum...
test_class_int obj2 = { .switch_pin = 5 }; ? To by ale ta třída musela být POD...
mi to mý upravený jelo v gcc 10 s argumentem -std=c++20 ale netvrdim žeto je takle jakože dobře :O :O