IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – 8. diel - Poľa v C ++

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Jan Doskočil:22.4.2016 16:54

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

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

Snad zítra ;) (23.4.)

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

jupííííí

Odpovedať
23.4.2016 19:22
"Existuje pouze 10 typů lidí, ti kteří strojovému kódu rozumí a ti kteří ne."
Avatar
Odpovedá 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é...

Editované 24.4.2016 22:05
Odpovedať
24.4.2016 22:05
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovedá na Zdeněk Pavlátka
Jan Doskočil:12.6.2016 18:17

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

Odpovedať
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

 
Odpovedať
19.12.2016 20:50
Avatar
Odpovedá 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á

Odpovedať
19.12.2016 20:53
Pokud spolu kód a komentář nekorespondují, budou patrně oba chybné
Avatar
Odpovedá 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

 
Odpovedať
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.

Odpovedať
9.2.2017 16:37
Když selžou všechny pokusy, použijte návod.
Avatar
Lukáš Hruda
Tvůrce
Avatar
Odpovedá 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ů.

 
Odpovedať
9.2.2017 17:13
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!