Diskuze: Metoda vracející hodnotu - zápis výsledku.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
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, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Takovéto jednoduché příklady compiler většinou sám optimalizuje do druhé varianty.
Zde maličký příklad... Zkompiloval jsem projekt s těmito metodami...
private int FourBytesToInt(byte[] array)
{
int res = 0;
res += array[0] * 256 * 256 * 256;
res += array[1] * 256 * 256;
res += array[2] * 256;
res += array[3];
return res;
}
private byte[] IntToFourBytes(int intValue)
{
byte[] array = new byte[4];
array[0] = (byte)(intValue >> 24);
array[1] = (byte)(intValue >> 16);
array[2] = (byte)(intValue >> 8);
array[3] = (byte)intValue;
return array;
}
Pomocí dekompilace jsem dostal zpátky už jen tohle... zvláštně dobrá je druhá metoda, kde to zůstalo vše v returnu.
private int FourBytesToInt(byte[] array)
{
return 0 + (int) array[0] * 256 * 256 * 256 + (int) array[1] * 256 * 256 + (int) array[2] * 256 + (int) array[3];
}
private byte[] IntToFourBytes(int intValue)
{
return new byte[4]
{
(byte) (intValue >> 24),
(byte) (intValue >> 16),
(byte) (intValue >> 8),
(byte) intValue
};
}
takovéto jednoduché příklady compiler vůbec nebude dělat jako metodu, ale prostě je inline-ne.
To co si poslal je decompile určitě develop codu.. jinak ti compiler vždycky spočítá konstanty, pokud mu v tom nic nebrání.
Dekuji. Nasel jsem si priklad: Posloupnost naplnena x poctem cisel. Mam v ni
najit nejvetsi a nejmensi cislo a udelat z nej rozdil a zaroven udelat soucin ze
sudych cisel. Bohuzel, jsem nikde nenasel spravne reseni, mohl by mi to někdo
zkontrolovat prosim? Samozrejme program pracuje jak ma, jde mi hlavně o
optimalizaci.
Btw. jedná se o C++ konzolovou aplikaci, nedopatrenim jsem toto tema zalozil v
.NET sekci, omlouvam se.
Děkuji
int PosloupnostCisel(int &roz, int pp);
int main()
{
int pocetPrvku, roz = 0, soucin;
cin >> pocetcisel;
soucin = PosloupnostCisel(roz, pocetcisel);
if (soucin == 0)
cout << "Soucin nelze vypocitat, protoze se v posloupnosti nenachazi sude cislo" << endl;
else
cout << "Soucin: " << soucin << endl;
cout << "Rozdil nejvetsiho cisla a nejmensiho cisla je: " << roz << endl;
system("pause");
return 0;
}
int PosloupnostCisel(int &roz, int pp)
{
int cislo, soucin = 1, maximum = -RAND_MAX, minimum = RAND_MAX;
bool kontrolaSoucinu = false;
for (int i = 1; i <= pp; i++)
{
cout << "Zadej cislo: ";
cin >> cislo;
if (cislo > maximum)
maximum = cislo;
if (cislo < minimum)
minimum = cislo;
if (cislo % 2 == 0)
{
soucin *= cislo;
kontrolaSoucinu = true;
}
}
roz = maximum - minimum;
if (kontrolaSoucinu)
return soucin;
else
return 0;
}
Zobrazeno 6 zpráv z 6.