• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

c++ - tablica z za dużym rozmiarem

Object Storage Arubacloud
0 głosów
441 wizyt
pytanie zadane 28 września 2017 w C i C++ przez jankustosz1 Nałogowiec (35,880 p.)

Dlaczego kompilator g++ rzuca mi błąd w tej linii, 400mb nie może sobie zarezerwować?

int liczby[1000000000];

 

komentarz 28 września 2017 przez jankustosz1 Nałogowiec (35,880 p.)
znaczy 4gb
1
komentarz 28 września 2017 przez MetGang Nałogowiec (34,360 p.)
1mb to zazwyczaj rozmiar stosu jakim dysponujesz (w porywach do 8mb).

3 odpowiedzi

+1 głos
odpowiedź 28 września 2017 przez unknown Nałogowiec (39,560 p.)

400mb nie może sobie zarezerwować?

Tak

+1 głos
odpowiedź 28 września 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)

400MB pamięci na stosie? laugh

0 głosów
odpowiedź 28 września 2017 przez jankustosz1 Nałogowiec (35,880 p.)
A to jeszcze taki pytanie, na olimpiadzie z informatyki, często w zadaniach jest napisane że np. limit pamięci 500mb, to po jaką cholerę tak piszą, skoro i tak tego nie przekroczę.
komentarz 28 września 2017 przez adrian17 Ekspert (344,860 p.)

Limit pamięci rezerwowanej na stosie to zupełnie co innego. Gdybyś spróbował "normalnie" dynamicznie zaalokować 4GB, powinno się udać (zakładając że masz 64-bitowy system i dość pamięci):

std::vector<int> liczby(1000000000);
// albo brzydziej
int *liczby = new int[1000000000];

 

komentarz 28 września 2017 przez jankustosz1 Nałogowiec (35,880 p.)
a to jeszcze takie pytanie,

jak rezerwuje niedynamicznie, i tablica jest na stosie to operacje na niej są wykonywane szybciej?
komentarz 28 września 2017 przez adrian17 Ekspert (344,860 p.)

to operacje na niej są wykonywane szybciej?

Czasem tak, czasem nie, czasem zależy. Sugeruję się nie przejmować bardzo drobnymi kwestiami wydajnościowymi, bo to zaawansowany, a dla początkującego niepotrzebny, temat.

komentarz 28 września 2017 przez jankustosz1 Nałogowiec (35,880 p.)
no właśnie na tej olimpiadzie się takie rzeczy liczą. To jest typowa algorytmika, wszędzie zmienne globalne, jest to bardziej matematyka niż programowanie.
komentarz 28 września 2017 przez adrian17 Ekspert (344,860 p.)

To jest typowa algorytmika

To najpierw wyucz się algorytmów które mogą skrócić czas wykonania programu o rzędy wielkości, a potem dopiero zaczynaj kombinować z tematami typu wydajność działania stos/sterta (co też samo przyjdzie przy czytaniu generowanego kodu) które dadzą zazwyczaj ułamek procenta różnicy.

komentarz 28 września 2017 przez jankustosz1 Nałogowiec (35,880 p.)
mógłbyś zerknąć na inne pytanie które przed chwilą zadałem? Moim zdaniem nie da się bardziej przyśpieszyć tego co napisałem.

https://forum.pasja-informatyki.pl/289290/co-mozna-przyspieszyc-w-tym-czyms to link

Podobne pytania

0 głosów
1 odpowiedź 135 wizyt
pytanie zadane 24 października 2022 w C i C++ przez Latarnik Użytkownik (650 p.)
0 głosów
1 odpowiedź 112 wizyt
pytanie zadane 5 czerwca 2017 w C# przez gos Nowicjusz (140 p.)
0 głosów
1 odpowiedź 100 wizyt
pytanie zadane 5 czerwca 2017 w C# przez gos Nowicjusz (140 p.)

92,584 zapytań

141,433 odpowiedzi

319,668 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...