|
Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor: |
|
Alati teme | Način prikaza |
|
21. 12. 2010. | #1 | |
profesionalac
Qualified
Datum učlanjenja: 22.09.2007
Lokacija: Split
Poruke: 111
Hvala: 8
39 "Hvala" u 10 poruka
|
Citat:
I to me zbunjuje jer i mnogim knjiga piše da je. Evo što sam otkrio. Prvo kod kompajiram sa g++ na RHEL sa: [sasa@localhost my_code]$ g++ test.cpp -g -o test && ./test Napisao sam sljedeći code: Kôd:
#include <iostream> int main(int argc, char *argv[]) { double * array; array = NULL; printf("PRVI ALLOC\n"); array = new double[1000000000]; if( NULL == array ) { printf("Nije uspio alocirati.\n"); } } Kôd:
[sasa@localhost my_code]$ g++ test.cpp -g -o test && ./test PRVI ALLOC terminate called after throwing an instance of 'std::bad_alloc' what(): St9bad_alloc Aborted Kôd:
#include <iostream> int main(int argc, char *argv[]) { double * array; array = NULL; printf("PRVI ALLOC\n"); try { array = new double[1000000000]; } catch( std::bad_alloc ) { printf("array ALOCIRANJE NIJE USPIJELO\n"); exit( -5 ); } catch(...) { printf("NESTO NIJE USPIJELO\n"); } } Kôd:
[sasa@localhost my_code]$ g++ test.cpp -g -o test && ./test PRVI ALLOC array ALOCIRANJE NIJE USPIJELO Iz ovoga moga eksperimenta je jasno da je to koncept koji više ne funkcionira. Mene sada zanima, od kada se to izmjenilo? I ako netko ima još kakvih dodatnih informacija može ih iznjeti u vezi ove tematike. |
|
|
|