Byla vydána nová verze 9.20 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček RustDesk Server pro vzdálený přístup.
Jonathan Thomas oznámil vydání nové verze 3.4.0 video editoru OpenShot (Wikipedie). Představení novinek také na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.
Byla vydána nová verze 1.6 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Podrobnosti na demo stránce.
Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.
Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).
Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.
Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným
… více »Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.
Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.
template<typename T> [](T bla, T bla2) -> decltype(T+T) {} by bylo hezčí
static, taky v každém kontextu něco úplně jinýho, a přesto si nikdo nestěžuje
//.... include stdio.h a time.h
time_t * myTime(void)
{
//static \
time_t cas;
cas=time(NULL);
return (&cas);
}
int main(void)
{
printf("prave je: %d:%d:%d\t\t%d.%d.%d \n", localtime(myTime())->tm_hour, \
localtime(myTime())->tm_min, localtime(myTime())->tm_sec,\
localtime(myTime())->tm_mday, 1+(localtime(myTime())->tm_mon), \
1900+(localtime(myTime())->tm_year));
}
Realne by som cakal pad vzdy.To zalezi na tom, jestli jste u nejaky pouzil stack protector nebo address sanitiser, obecne nejaka ocharna stacku krome buffer overflow se nedela.
static non-member funkce,To je ale uplne neco jineho nez ostatni dva priklady, v C je to jasne, C++03 je to bylo deprecated a v C++11 to soudruzi planovaci opet un-deprecated.
template <bool condition,
typename if_true,
typename if_false>
struct static_if;
template <typename if_true,
typename if_false>
struct static_if<true, if_true, if_false>
{
using result = if_true;
};
template <typename if_true,
typename if_false>
struct static_if<false if_true, if_false>
{
using result = if_false;
};
Já doufám, že přibude ještě "static if". To by pro ten bordel v šablonách byla docela užitečná věc.V C++14 mohou
constexpr funkce obsahovat if.
static se to alokuje na zásobníku, takže ten ukazatel pořád ukazuje na platnou paměť. Akorát to bude velmi rychle obsahovat nesmysly.
Už od začátku je v C++ slůvkoJak, pokaždé něco jiného? Kdy to znamená něco jiného než "globální proměnná/funkce s omezenou viditelností" ?static, taky v každém kontextu něco úplně jinýho, a přesto si nikdo nestěžuje![]()
static void funkce() // Jeden význam
{
static int hodnota = 1; // Druhý význam
}
class Class
{
static void funkce() // Třetí význam
{}
};
Protože static neznamená a nikdy neznamenal, že nějaký identifikátor je ukryt v modulu – příští norma C++ vás třeba může nemile překvapit. Znovu: klíčové slovo static v C++ (na tozdíl od C) nebyl, není a nikdy nebude určeno pro ukrývání identifikátorů. A touto logikou půjdou i příští normy C++.Tvurci C++ standardu by s tebou asi nesouhlasili. Termin "internal linkage" je celkem vystizny.
A name is said to have linkage when it might denote the same object, reference, function, type, template, namespace or value as a name introduced by a declaration in another scope:----------
— When a name has external linkage, the entity it denotes can be referred to by names from scopes of other translation units or from other scopes of the same translation unit.
— When a name has internal linkage, the entity it denotes can be referred to by names from other scopes in the same translation unit.
— When a name has no linkage, the entity it denotes cannot be referred to by names from other scopes.
A name having namespace scope (3.3.6) has internal linkage if it is the name of
— a variable, function or function template that is explicitly declared static; or,
Není naprosto žádný problém pochopit celé C++S tim se da souhlasit
static prvního případu (having namespace scope), tak to má internal linkage, což znamená, že se na to dá jménem odkazovat jen z té translation unit (*.cpp plus všechny includy), kde to bylo definované.
Stále je to jeden a ten samý význam.Nema. Jena vec je storage class specifier a druha linkage specifier; v obou pripadech jde o rozdilne veci.
Není naprosto žádný problém pochopit celé C++ v tom co umí, protože je logické a má vnitřní konzistenci na rozdíl od většiny jiných jazyků.Co si mam tvrdsiho zobnout nez otevru C++ standard, abych mel stejne optimisticky pocit?
static int a = 3 rozhodně není konstanta a kompilátor ji tak nemůže použít. Muselo by to být static const int a = 3. Jenže kompilátor to jako konstantu může použít, i pokud tam ten static vůbec není, ten se v tomto případě používá jen pro členské proměnné nebo pro specifikaci internal linkage.
static void funkce() // Globální funkce s viditelností omezenou na jednu kompilační jednotku (soubor)
{
static int hodnota = 1; // Globální proměnná s viditelností omezenou na funkci
}
class Class
{
static void funkce() // Globální funkce s viditelností omezenou na třídu (mimo je potřeba explicitní kvalifikace)
{}
};
které jsou ve skutečnosti velmi konzistentní a logické, jen co je člověk dostane správně vysvětlenéMuhehe.
Podobně je to se statickou proměnnou 'b' ve třídě 'C', jako 'b' se na ni dá odkázat jen z 'C'. V tomhle případě akorát jde explicitní kvalifikací 'C::b' odkázat i zvenku.To, že ta funkce/proměnná je ve tříde C viditelná jako b je dáno pouze tím, že v rámci scope/namespace člověk nemusí uvádět plné jméno. Jinak ale 'skutečné' jméno té funkce/proměnné je třeba
::foo::bar::C::b, kde foo a bar jsou třeba namespaces (mohly by to být ale i třídy). To, že z různých míst se můžu na tu funkci odkazovat například jménem b nebo C::b nebo bar::C::b je dáno pravidly, jakými se lokalizuje identifikátor, s viditelností to nemá vůbec nic společného.
No, u C++11 jsem si říkal, že ten jazyk není až tak moc složitej, když si někdo stěžoval. Právě nám ale vyrostla konkurence Perlu. Tohle je docela síla.Co je na tom spatnyho? A co je spatnyho na Perlu??
Tiskni
Sdílej: