Byl vydán Debian 12.10, tj. desátá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Byla vydána nová verze 4.5 svobodného notačního programu MuseScore (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.
Byla vydána nová verze 8.6.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2025. Na programu je celá řada zajímavých přednášek a workshopů. Vstup je zdarma. Přednášky lze sledovat i online na YouTube.
Byla vydána nová verze 2.49.0 distribuovaného systému správy verzí Git. Přispělo 89 vývojářů, z toho 24 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Premiér Petr Fiala (ODS) dnes na síti X vyloučil, že by za jeho vlády mohla začít platit vyhláška, podle níž by poskytovatelé internetového připojení měli uchovávat adresy internetových stránek, na které se lidé připojují.
Flock 2025, tj. konference pro přispěvatele a příznivce Fedory, proběhne od 5. do 8. června v Praze.
Zemřel Mark Klein, který dlouhá léta pracoval pro telekomunikační firmu AT&T a proslavil se jako whistleblower, když zveřejnil informace o spolupráci AT&T s agenturou NSA. Cílem spolupráce bylo sledovat veškerou komunikaci občanů za pomocí zařízeních v místnosti 641A. O spolupráci obou subjektů napsal knihu Wiring Up The Big Brother Machine...And Fighting It.
Byla vydána nová verze 16 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v changelogu.
Texas Instruments představil nejmenší mikrokontrolér na světě MSPM0C1104. Je o 38 % menší než současné nejmenší mikrokontroléry. Má pouze 1,38 mm².
virtual const char* getText() const { const char *name = "text"; return name; };Tento už je asi lepší (nebo ne?)
virtual void getText(std::string &name) const { name = "text"; };ale mě by zajímalo jak se takové věci dělají obecně „správně“.
Řešení dotazu:
#include <stdio.h> void x() { const char *abc = "abc"; printf("x: %p/%p\n", &abc, abc); } void y() { x(); const char *abc = "abc"; printf("y: %p/%p\n", &abc, abc); } void z() { y(); const char *abc = "abc"; printf("z: %p/%p\n", &abc, abc); } int main() { z(); return 0; }To by Vás mělo přesvědčit, že tohle..
virtual const char* getText() const { return "text"; };..je v naprostém pořádku
A kde je problém? Veď tá funkcia vracia const char*, čiže pointer na konštantné pole znakov. (aj keď, dá sa to obísť pomocou const_cast)
A prečo nepoužijete návratový typ const std::string (hodnota, nie referencia)? std::string sa riadi zásadou copy-on-write, čiže samotné vytvorenie kópie je lacné, akurát sa možno zbytočne pracuje s počítadlom odkazov.
#include <iostream> const char* getText() { return "Text"; } int main() { std::cout << getText() << std::endl; char *ch = (char *) getText(); ch[0] = 't'; std::cout << getText() << std::endl; return 0; }... že to skončí s Segmentation fault, je jiná záležitost.
const char *z důvodů:
Tiskni
Sdílej: