Diskuze: Vysvětlení kódu
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
p=(int*)(&a+1);
&a = adresa proměnné a
(int*) = přetypování na ukazatel na int
Do proměnné p se uloží adresa proměnné a zvýšená o velikost proměnné
typu int.
& je reference (adresa) proměnné.
Tohle je prostě jiný zápis pole (posuneš se v paměti na další prvek přičtením velikosti intu) pokud se nemýlím.
&a vrátí pointer na místo v paměti, kde je a
*p vrátí hodnotu z paměti, kam ukazuje p
jak ale pak ví co je na další pozici v paměti? chápu že pamět je jako pole, určitý počet dat s adresou ale pokud se odvoávám na adresu dál než kde je proměnná jak můžu pak vědět co vlastně čtu? když naté adrese nemám žadnou proměmnou nadeklarovanou. Teda pokud to neni součástí onoho pole pamatrů....
Hledám v tom moc věcí
áchjo kdybych já nebyl tak moc zvědavý 
Vypadá to jako funkce, kam jako první parametr zadáš počet čísel, která chceš sčítat a zbylé parametry - čísla, která pak sčítáš.
Díky tomu prvnímu parametru tak víš, jak dlouho můžeš z paměti číst, abys nečetl nějaké nesmysly.
Je to klasická funkce na součet, resp co se tak narychlo koukám tak by to
mělo dělat asi sumu, součet N-krát čísla N 
int "hvězdička" p skutečně je jedno kde je ta hvězdička, jestli za int, nebo před názvem, zkrátka musí bejt mezi), je pointer- ukazatel (doporučuju si o tom něco přečíst) - dat. typu integer
Pointer je dat. typ, kterej si uchovává adresu danýho typu - můžou bejt libovolný pointery- int "hvězdička", char "hvězdička", double"hvězdička", float"hvězdička", nebo klidně i void"hvězdička"(například ukazatel na funkce..)
V tomhle případě je jedno jestli to bude přes pointer/referenci, nebo ne, ten pointer by jsi využil například, kdyby jsi chtěl zapisovat do nějaký struktury/proměnný.. která by byla vně týhle funkce- bez adresy by jsi na to místo nezapsal
(int "hvězdička") je jen přetypování- protože jako parametr funkce je unsigned int (asi by se to implicitně přetypovalo, ale tohle minimálně nebude házet warning, možná taky ne, možná by to přetypovalo jen na int ne na int*, nwm, záleží na IDE)
no takže máš proměnnou, která je připravená na adresu int typu, a máš proměnnou unsigned int (int "hvězdička") přetypuješ a '&' vytáhneš adresu tý proměnný
kdyby byl argument funkce int, tak by ti stačilo int "hvězdička" p =
&a

Snad stačí 
///sorry, nwm jak se tady lightuje zdroják :/
Funkcie s premennym poctom parametrov funguju vdaka tomu ze parametre funkcie
su predavane v jednom pametovom bloku (podobne ako pole, len kazdy prvok moze
mat inu velkost).
Funkcia musi mat minimalne 1 znamy parameter, v tvojom pripade je to 'unsigned
a'. Adresa premennej 'a' je na prvom mieste, za nou nasleduju postupne dalsie
premenne.
p=(int*)(&a+1);
Tento kod zobere adresu premennej 'a' ( &a ), prirata k nej 1, co znamena ze sa posunie o sizeof(a) bytov a pretypuje ju na int*, to znamena ze nasledujuca premenna ma typ int.
Treba si davat pozor na jednu vec. Poradie v akom su predavane parametre funkcie nie je v kazdom kompilatore rovnake, premenna 'a' moze byt kludne posledna a nie prva, preto sa pouzivaju na presuvanie medzi parametrami specialne makra http://en.cppreference.com/…ity/variadic
Zobrazeno 11 zpráv z 11.
