PHP týden Předvánoční slevová akce
Pouze tento týden sleva až 80 % na PHP e-learning!
Využij předvánočních slev a získej od nás 20 % bodů zdarma! Více zde

Diskuze: Co je to Span<T>

Aktivity (4)
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:29. října 15:36

Zdravím mám jednu otázku. Co přesně je Span<T>? Už téměř dvě hodiny googlím a stále si nejsem jistý zda tomu rozumím. Znamená to, že například můžu použít Span na pole a uložit ho na přímo do zásobníku? Což má za následek výší rychlost a má to i nějaké nevýhody? Mě totiž přesně není jasný scénář kdy tohle použít a proto právě nervím jestli tomu rozumím.... Nebo jde jen o to jak nahnat performance? Byl bych rád kdyby mi to někdo fakt stroze vysvětlil k čemu přesně to je a kdy to třeba použít. Předem strašně moc díky

Zkusil jsem: Jak jsem psal hledal jsem na googlu a dost jsem si toho přečetl, ale stejně mi to není zcela jasné.... Nejradši bych byl kdyby mi někdo napsal hele troubo není to žádná věda je to k tomuhle, používá se to takhle a použil bych to když...

Chci docílit: Porozumět spanu

 
Odpovědět
29. října 15:36
Avatar
krepsy3
Redaktor
Avatar
krepsy3:29. října 18:25

Čau, nevím, nakolik jsi začátečník.

Abych ti vysvětlil důvod své úvodní věty - v C# programuju už 4 roky a studuju informatiku na matfyzu. Po zběžném googlení tuším, co to je, ovšem nedovedu si představit, že bych to k něčemu potřeboval.

Netuším, jestli ti něco říkají regiony operační paměti, halda a zásobník. Z definice se jedná o kus alokované paměti na ZÁSOBNÍKU. Jako kus si představ pole dané velikosti pro daný typ. Alokovaný kus je kontinuální, a lze na něm tedy užít pointerovou aritmetiku. Tedy inkrementace pointeru na začátek Spanu o velikost uloženého typu tě posune na první prvek apod.

K čemu to využít - jak říkám, sám nevím. Když nás ve škole učí algoritmy, které vznikly v 60. - 80. letech, často se odkazují na to, že v této době šlo o každou instrukci volanou na procesor, a jaké se používaly datové struktury v paměti, aby se ušetřilo místo a aby byl přístup k datům pro daný algoritmus nejrychlejší apod. Pro takovýto účel se pochopitelně sekvenčně přečtitelné pole hodí.

Jestli nejsi moudrý ani z mého komentáře, pak věz, že to tuplem nepotřebuješ :D
Hodně zdaru :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
29. října 18:25
Programátor je stroj k převodu kávy na kód.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na krepsy3
Petr Kasnal:30. října 8:17

Ahoj, díky moc za odpvoěď. Myslím si, že se v tom nějak orientuju znám to samozřejmě ze školy a teď jsem zjistil, že v c# jde pracovat s pointerama což pro mě byla novinka a dostal jsem se právě k tomu spanu. Pochopil jsem to jak mi píšeš a je mi to už tak nějak jasné. Díky moc

 
Nahoru Odpovědět
30. října 8:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.