Witam, mam problem z takim oto programem:
int main()
{
unsigned int tab[10000001];
int i = 0;
}
Kompiluje się on bez błędu, ale nie chce się wykonać - na Windowsie wykonanie przerywa się bez komentarza, na Linuxie mówi "segmentation fault (core dumped)". Co ciekawe, gdy nie próbuję przypisać zmiennej i wartości 0 (ale deklaruję tę zmienną), program wykonuje się bez błędu. Może mi ktoś powiedzieć, z czego wynika takie zachowanie i jak sobie z nim poradzić?
Używam Windows 7 + MinGW oraz Ubuntu 14.04 LTS + GCC, architektura 64bit
c
, poza tym, dla C++ użycienew
idelete
to anty-rada.return
, tylko np. funkcja mogąca rzucić wyjątek). Używając RAII unikasz takich problemów, dlatego w nowoczesnym C++ użycienew
i w szczególnościdelete
to powinna być rzadkość z dobrze udokumentowanym powodem.