Dnes je to 10 let, co byla vytvořena decentralizovaná kryptoměna Dogecoin. Autoři Billy Markus a Jackson Palmer ji původně zamýšleli jako vtip. Znakem kryptoměny je pes Shiba-Inu známý z internetových memů.
Google Chrome 120 byl prohlášen za stabilní. Nejnovější stabilní verze 120.0.6099.62 přináší řadu oprav a vylepšení (YouTube). Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).
Byla vydána nová verze 2023.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Vypíchnout lze podporu Cloud ARM64, Vagrant Hyper-V a Raspberry Pi 5.
Společnosti IBM, Meta a dalších vice než 50 zakládajících členů (bez Microsoftu a OpenAI) vytvořili mezinárodní alianci AI Alliance pro spolupráci na vývoji a rozvoji otevřené, bezpečné a odpovědné umělé inteligence.
Služba pro hlídání uniklých hesel Have I Been Pwned oslavila 10. výročí. Troy Hunt ji spustil 4. prosince 2013 (Twitter).
Programovací jazyk HTML.
Podpora TORu v Debianu 11 Bullseye a 10 Buster byla ukončena. Doporučuje se přechod na Debian 12 Bookworm.
Příkaz "opakuj donekonečna" je nově v rozporu s podmínkami používání ChatGPT. Příkaz vedl k prozrazení trénovacích dat [/.].
GNU Project Debugger aneb GDB byl vydán ve verzi 14.1. Podrobný přehled novinek v souboru NEWS. Vypíchnout lze podporu NO_COLOR a Debugger Adapter Protocol (DAP).
Byla vydána verze 5.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.
Řešení dotazu:
typedef int (*funkce_t)();
struct {
char *jmeno;
funkce_t funkce;
} seznam[] = {
{
"haf", stekej,
},
};
a nasledne prochazet tohle a volat podle toho... je to teda spis C nez C++, ale hadam ze se to az tak lisit nebude (C++ se mozna nebude libit to deklarovani a definovani struktury i promenne v jednom)
std::map<std::string, void*>
std::map
nebývá hašovací tabulka. std::unordered_map
bývá.
void*No klidně bych tam spíš rval std::function<void()>, může to pak být i volání nějaký metody nějakýho objektu, lambda, ...
#include <iostream> #include <map> #include <unordered_map> #include <functional> #include <string> void stekej() { std::cout << "haf" << std::endl; } void mnoukej() { std::cout << "mňau" << std::endl; } class Jardik { public: void jardikuj(std::string const& oCem) { std::cout << "Jardíkuju o " << oCem << std::endl; } }; using Mapa = std::unordered_map<std::string, std::function<void()>>; //using Mapa = std::map<std::string, std::function<void()>>; int main(int argc, char **argv) { Jardik jardik; Mapa mapa{ {"haf", stekej}, {"mňau", mnoukej}, {"jardikujo64bitech", std::bind(&Jardik::jardikuj, &jardik, "64bitech")}, {"jardikujowindows", std::bind(&Jardik::jardikuj, &jardik, "woknech")} }; std::string codelat; for (;;) { std::cin >> codelat; if (!std::cin) break; Mapa::const_iterator it = mapa.find(codelat); if (it != mapa.end()) { it->second(); } else { std::cout << "Neumim" << std::endl; } } return 0; }
gcc 4.7 a 4.8 dle distrowatch ...
http://distrowatch.com/search.php?pkg=gcc&pkgver=4.8#pkgsearch
http://distrowatch.com/search.php?pkg=gcc&pkgver=4.7#pkgsearch
a c11 v clangu : http://clang.llvm.org/cxx_status.html
using
, pokud se opraví na typedef a přidá se flag -std=gnu++0x
uklidňujícně označený jako „This support is currently experimental.“ tak už jo.>>
za sebou bez mezery), pominulu-li std::bind
.což je asi nejefektivnější datová struktura pro tento účelPokud na vstupu budou vždy pouze slova z předem dané množiny, pak ta slova nepotřebuji ani ukládat. Jednoduchý benchmark je v článku GPERF: A Perfect Hash Function Generator na straně 10.
Tiskni
Sdílej: