#define kontra const, a wydajność?
Ostatnio zmodyfikowano 2009-07-13 00:20
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)? |
|
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? |
|
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. |
|
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? |
|
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: 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ę). |
|
WinerFresh |
» 2009-07-13 00:18:47 zgadzam się z przedmówcą, nawet jeden taki znam :) |
|
WinerFresh |
» 2009-07-13 00:23:11 Tiaaa, D + Tango nie ma sobie równych. |
|
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). |
|
« 1 » 2 |