Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

#define kontra const, a wydajność?

Ostatnio zmodyfikowano 2009-07-13 00:20
Autor Wiadomość
GoldWolf
Temat założony przez niniejszego użytkownika
#define kontra const, a wydajność?
» 2009-07-12 21:00:46
Chciałbym zapytać, dlaczego w C++ poleca się stosować const niż #define, jakie aspekty za tym przemawiają(korzyści, wady)?
P-8452
GoldWolf
Temat założony przez niniejszego użytkownika
» 2009-07-12 21:18:11
Słyszałem iż w pewnych warunkach #define może zmienić rozmiar zajętej pamięci?
P-8453
WinerFresh
» 2009-07-12 21:25:23
Może np. dla tego, że debugger może ci wtedy pomóc?? Jak korzystasz z define i zrobisz gdzieś kuku to ci (...) na głowie wyrośnie zanim znajdziesz debuggerem ten błąd, jedyny sposób na jego rozwiązanie to prawo Linusa.
P-8454
pompom
» 2009-07-12 23:28:59
//tja. "elfowie". W necie nie każdy musi być człowiekiem. Znam konia nawet... //Fanael
Yyy. Furry znaczy?
P-8465
pompom
» 2009-07-12 23:50:55

Słyszałem iż w pewnych warunkach #define może zmienić rozmiar zajętej pamięci?
Chyba chodziło oto, że:
C/C++
#define zuo 23
f( zuo );
Da kod w którym 23 będzie zapisany w kodzie, a kod z constem umieści zmienną w pamięci na stałe + da instrukcję pobrania wartości (albo bezpośredniego wrzucenia - optymalizacja), więc zajmie więcej pamięci.
Ale takie różnice są pomijalne, trzeba używać consta.
Define używa się do rzeczy typu #ifdef DEBUG .. #endif gdzie DEBUG jest definiowane z poziomu kompilacji albo w jakimś pliku konfiguracyjnym,
oraz do makr omijających niedoróbki języka (boost ma ich trochę).
P-8466
WinerFresh
» 2009-07-13 00:18:47
zgadzam się z przedmówcą, nawet jeden taki znam :)
P-8467
WinerFresh
» 2009-07-13 00:23:11
Tiaaa, D + Tango nie ma sobie równych.
P-8469
pompom
» 2009-07-13 00:31:30
Każdy język ma swoje dobre strony i swoje główne zastosowanie, idealnego nie ma i nie będzie...
C/C++ nadaje się do gier i naprawdę niskopoziomowych rzeczy.
A dlaczego tyle ludzi chce się go uczyć? Bo jest naprawdę wszędzie i jeszcze długo będzie z nim robota (stary soft).
P-8470
« 1 » 2
  Strona 1 z 2 Następna strona