09-01-2020, 00:32
(08-01-2020, 16:28)elvis napisał(a): Wszystko zależy co i po co chcemy zrobić. W każdym razie brak typu jest jedną z głównych wad definicji.
To zależy. Bo jeśli chodzi o niektóre makra, to jest to zaleta. Nie musimy na przykład pisać wielu przeciążonych wersji funkcji w zależności od typu danych (liczbowych). Jednak lepiej w tym przypadku sprawdza się funkcja szablonowa inline.
Jeśli chodzi o definicję stałych, to const nad #define ma tę przewagę, że mamy większą (łatwiejszą) kontrolę zasięgu, oraz znamy miejsce i rozmiar w pamięci. #define zaś daje nam możliwość kompilacji warunkowej, gny na przykład podczas testowania programu wyrzucamy wartości na serial, to w produkcie końcowym ta funkcjonalność jest nie potrzebna i jednym komentarzem //#define załatwiamy sobie sporo miejsca w pamięci.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.