NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 8 - Pole v C++

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Jan Doskočil:22.4.2016 16:54

A kdy bude příště? Už se nemůžu dočkat...

Odpovědět
22.4.2016 16:54
"Existuje pouze 10 typů lidí, ti kteří strojovému kódu rozumí a ti kteří ne."
Avatar
Odpovídá na Jan Doskočil
Zdeněk Pavlátka:22.4.2016 17:21

Snad zítra ;) (23.4.)

Odpovědět
22.4.2016 17:21
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Jan Doskočil:23.4.2016 19:22

jupííííí

Odpovědět
23.4.2016 19:22
"Existuje pouze 10 typů lidí, ti kteří strojovému kódu rozumí a ti kteří ne."
Avatar
Odpovídá na Jan Doskočil
Zdeněk Pavlátka:24.4.2016 22:05

Tak ještě ne, nic nestíhám :/ Ale už to mám rozepsané...

Editováno 24.4.2016 22:05
Odpovědět
24.4.2016 22:05
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Zdeněk Pavlátka
Jan Doskočil:12.6.2016 18:17

Prosím už mě nemuč úvahami o přechodu na C#

Odpovědět
12.6.2016 18:17
"Existuje pouze 10 typů lidí, ti kteří strojovému kódu rozumí a ti kteří ne."
Avatar
Michal Rivola:19.12.2016 20:50

Ahoj :D mohl bych se zeptat kde sem udělal chybu :D

 
Odpovědět
19.12.2016 20:50
Avatar
Odpovídá na Michal Rivola
Petr Štechmüller:19.12.2016 20:53

Ahoj, nemažeš pole intů
Takto ho definuješ:

int pole[10];
// teď by jsi ho měl vyčistit (vynulovat) pomocí memset

V C nemáš předem jisté, že paměť o kterou jsi si řekl bude prázdná

Odpovědět
19.12.2016 20:53
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovídá na Petr Štechmüller
Michal Rivola:19.12.2016 20:55

jo díky :D já sem zatím hodně začátečník takže si budu muset ještě najít jak se dělá s memset :D

 
Odpovědět
19.12.2016 20:55
Avatar
Cement
Člen
Avatar
Cement:9.2.2017 16:37

Jak velké pole můžu nadefinovat? Zkoušel jsem pole o velikosti 20 milionů. Zkompilovalo se to v pořádku. Po spuštěni exe souboru mi program spadl a Win10 hledalo řešení problému.
Pod Ubuntu je to podobné. Jen tam program bere pole int o max velikosti 2 miliony. Ve Win10 max 500 tisíc. Když vytvořím pole bool, tak velikost je asi 4x větší.
V Javě dokáže vytvořit pole velké přes 200 milionů.
Víte někdo, kde je zakopaný pes v C++?
Děkuji za odpovědi.

Odpovědět
9.2.2017 16:37
Když selžou všechny pokusy, použijte návod.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovídá na Cement
Lukáš Hruda:9.2.2017 17:13

Předpokládám, že to pole vytváříš staticky:

int pole[500000];

V takovém případě je velikost pole omezena velikostí zásobníku, která ve Windows je tuším 1MB.
Pokud pole vytvoříš dynamicky:

int* pole = new int[1000000000];

Takto můžeš teoreticky vytvořit pole skoro tak velké, jako je celý tvůj adresní prostor.
Tedy, ne tak docela, protože ti to může zhatit fragmentace paměti, ale každopádně takto můžeš vytvořit mnohem větší pole, klidně i větší než 200 milionů prvků.

 
Odpovědět
9.2.2017 17:13
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 10 zpráv z 46.